public inbox for [email protected]help / color / mirror / Atom feed
[pgAdmin][RM4348] Theme options in pgAdmin and dark theme 31+ messages / 4 participants [nested] [flat]
* [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-06 07:02 Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-06 07:02 UTC (permalink / raw) To: pgadmin-hackers Hi Hackers, Attached is the patch to introduce theme options in pgAdmin. Changes include: 1) New theme option in preferences - Miscellaneous -> Themes. You can select the theme from the dropdown. It also has a preview of the theme just below the dropdown. Note that, a page refresh is needed to apply changes. On saving, a dialog appears to ask for refresh. 2) You can create your own theme and submit to hackers. README is updated to help you create a theme. Theme will be available only after bundle. 3) Correction of SASS variables at few places and few other CSS corrections. 4) Added iconfont-webpack-plugin, which will convert all the svg files(monochrome) used as icons for buttons to font icons. This will allow us to change the color of icon by using CSS color property. 5) All the .css files will bundle into a separate file now- pgadmin.style.css. This will help reduce the size of theme css files as CSS in .css files will not change with the change of SASS variables. 6) "Dark Beta" theme added as a new theme option. How theme is built ? Webpack config is changed to achieve it. On running yarn run bundle, code will read all the directories in web/pgadmin/static/scss/resources which will be considered as theme dirs, build a separate css for every theme and then create a file named pgadmin.themes.json which will have all the information required. The patch also fixes RM4173, where there some issue with arrow icons in browser tree. Kindly review. -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [application/octet-stream] RM4348.patch (533.8K, 3-RM4348.patch) download | inline diff: diff --git a/.gitignore b/.gitignore index 1cc2ea4e8..c1e62bc38 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ runtime/pgAdmin4_resource.rc runtime/release/ runtime/ui_BrowserWindow.h web/config_local.py +web/pgadmin.themes.json web/geckodriver.log web/regression/test_config.json node_modules/ diff --git a/README b/README index e1045703d..f095c139c 100644 --- a/README +++ b/README @@ -219,6 +219,19 @@ can be used: C:\$PGADMIN4_SRC\web> yarn install C:\$PGADMIN4_SRC\web> yarn run bundle +Creating pgAdmin themes +----------------------- + +To create a pgAdmin theme, you need to create a directory under web/pgadmin/static/scss/resources. +Copy the sample file _theme.variables.scss.sample to the new directory and rename it to _theme.variables.scss. +Change the desired hexadecimal values of the colors and bundle pgAdmin. You can also add a preview image in the +theme directory with the name as <dir name>_preview.png. It is recommended that the preview image should not be +larger in size as it may take time to load on slow networks. Run the yarn run bundle and you're good to go. +No other changes are required, pgAdmin bundle will read the directory and create other required entries to make them +available in preferences. +The name of the theme is derived from the directory name. Underscores (_) and hyphens (-) will be replaced with +spaces and the result will be camel cased. + Configuring the Runtime ----------------------- diff --git a/docs/en_US/images/preferences_misc_themes.png b/docs/en_US/images/preferences_misc_themes.png new file mode 100644 index 0000000000000000000000000000000000000000..460998d45e48278e582a77034d13583e9f83ff08 GIT binary patch literal 103490 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 literal 0 HcmV?d00001 diff --git a/docs/en_US/images/preferences_misc_user_language.png b/docs/en_US/images/preferences_misc_user_language.png old mode 100755 new mode 100644 index 14a9b5670b9cb00fc8c746f4a60f00aaeb1ef583..3382a59d7de137b8f292a26db27786bf6eb415e4 GIT binary patch literal 74731 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 F{|`SLA+Z1e literal 50432 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 diff --git a/docs/en_US/preferences.rst b/docs/en_US/preferences.rst index 5a85fe0d2..08c9512f1 100644 --- a/docs/en_US/preferences.rst +++ b/docs/en_US/preferences.rst @@ -178,6 +178,14 @@ Expand the *Miscellaneous* node to specify miscellaneous display preferences. * Use the *User language* drop-down listbox to select the display language for the client. +.. image:: images/preferences_misc_themes.png + :alt: Preferences dialog themes section + :align: center + +* Use the *Themes* drop-down listbox to select the theme for pgAdmin. You'll also get a preview just below the + drop down. Note that, to apply the theme you need to refresh the pgAdmin page. You can also submit your + own themes, check `here <https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob_plain;f=README>`_ how. + The Paths Node ************** diff --git a/web/config.py b/web/config.py index c67f240b2..f992cc487 100644 --- a/web/config.py +++ b/web/config.py @@ -14,6 +14,7 @@ import logging import os import sys +import json if sys.version_info[0] >= 3: import builtins @@ -486,6 +487,26 @@ try: except ImportError: pass +THEMES = { + "standard": { + "disp_name": "Standard", + "cssfile": "pgadmin", + "preview_img": "standard_preview.png" + } +} + +OTHER_THEMES = {} +try: + extra_themes = json.load(open('pgadmin.themes.json')) + OTHER_THEMES.update(extra_themes) +except Exception: + pass + +# Set OTHER_THEMES to None here to disable all other themes + +if OTHER_THEMES is not None: + THEMES.update(OTHER_THEMES) + # SUPPORT_SSH_TUNNEL can be override in local config file and if that # setting is False in local config then we should not check the Python version. if (SUPPORT_SSH_TUNNEL is True and diff --git a/web/package.json b/web/package.json index 52352348f..4e82aa7f7 100644 --- a/web/package.json +++ b/web/package.json @@ -9,14 +9,17 @@ "devDependencies": { "@babel/core": "~7.6.0", "@babel/preset-env": "~7.6.0", + "autoprefixer": "^9.6.4", "axios-mock-adapter": "^1.17.0", "babel-loader": "~8.0.5", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", + "copy-webpack-plugin": "^5.0.4", "core-js": "^3.2.1", "cross-env": "^5.2.0", "eclint": "^2.8.1", "eslint": "5.15.1", "file-loader": "^3.0.1", + "iconfont-webpack-plugin": "^4.2.1", "image-webpack-loader": "^4.6.0", "is-docker": "^1.1.0", "jasmine-core": "~3.3.0", @@ -34,6 +37,7 @@ "node-sass": "^4.11.0", "optimize-css-assets-webpack-plugin": "^5.0.1", "popper.js": "^1.14.7", + "postcss-loader": "^3.0.0", "raw-loader": "^1.0.0", "sass-loader": "^7.1.0", "sass-resources-loader": "^2.0.0", diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py index de365eadd..41ca051f1 100644 --- a/web/pgadmin/__init__.py +++ b/web/pgadmin/__init__.py @@ -713,10 +713,26 @@ def create_app(app_name=None): @app.context_processor def inject_blueprint(): - """Inject a reference to the current blueprint, if any.""" + """ + Inject a reference to the current blueprint, if any. + Also the get_theme_css func. + """ + + def get_theme_css(): + misc_preference = Preferences.module('misc') + theme = misc_preference.preference('theme').get() + theme_css = config.THEMES['standard']['cssfile'] + '.css' + + if theme not in config.THEMES: + pass + else: + theme_css = config.THEMES[theme]['cssfile'] + '.css' + return theme_css + return { 'current_app': current_app, - 'current_blueprint': current_blueprint + 'current_blueprint': current_blueprint, + 'get_theme_css': get_theme_css, } @app.errorhandler(Exception) diff --git a/web/pgadmin/browser/server_groups/servers/static/css/servers.css b/web/pgadmin/browser/server_groups/servers/static/css/servers.css index 65f9f53db..61536428a 100644 --- a/web/pgadmin/browser/server_groups/servers/static/css/servers.css +++ b/web/pgadmin/browser/server_groups/servers/static/css/servers.css @@ -1,12 +1,3 @@ -.icon-server-connecting { - background-image: url('~top/static/img/load-node.gif') !important; - background-repeat: no-repeat; - background-size: 20px !important; - align-content: center; - vertical-align: middle; - height: 1.3em; -} - .change_password { padding-left: 7px; -} \ No newline at end of file +} diff --git a/web/pgadmin/browser/server_groups/servers/static/scss/_servers.scss b/web/pgadmin/browser/server_groups/servers/static/scss/_servers.scss index 0059fc259..6b83f891c 100644 --- a/web/pgadmin/browser/server_groups/servers/static/scss/_servers.scss +++ b/web/pgadmin/browser/server_groups/servers/static/scss/_servers.scss @@ -1,3 +1,12 @@ .bg-model-duplicate { @extend .bg-warning-light; } + +.icon-server-connecting { + background-image: $loader-icon-small !important; + background-repeat: no-repeat; + background-size: 18px !important; + align-content: center; + vertical-align: middle; + height: 1.3em; +} diff --git a/web/pgadmin/browser/static/js/toolbar.js b/web/pgadmin/browser/static/js/toolbar.js index 1a951d272..f491bfdbc 100644 --- a/web/pgadmin/browser/static/js/toolbar.js +++ b/web/pgadmin/browser/static/js/toolbar.js @@ -22,7 +22,7 @@ let _defaultToolBarButtons = [ text: '', toggled: false, toggleClass: '', - parentClass: 'pg-toolbar-btn', + parentClass: 'pg-toolbar-btn btn-secondary', enabled: false, }, { @@ -31,7 +31,7 @@ let _defaultToolBarButtons = [ text: '', toggled: false, toggleClass: '', - parentClass: 'pg-toolbar-btn', + parentClass: 'pg-toolbar-btn btn-secondary', enabled: false, }, { @@ -40,7 +40,7 @@ let _defaultToolBarButtons = [ text: '', toggled: false, toggleClass: '', - parentClass: 'pg-toolbar-btn', + parentClass: 'pg-toolbar-btn btn-secondary', enabled: false, }, ]; diff --git a/web/pgadmin/browser/static/scss/_browser.scss b/web/pgadmin/browser/static/scss/_browser.scss index 53de6f93a..f35ca48e4 100644 --- a/web/pgadmin/browser/static/scss/_browser.scss +++ b/web/pgadmin/browser/static/scss/_browser.scss @@ -49,5 +49,4 @@ samp, .pg-toolbar-btn { margin-left: 0.25rem; - border: $input-btn-border-width solid $btn-secondary-border; } diff --git a/web/pgadmin/dashboard/static/css/dashboard.css b/web/pgadmin/dashboard/static/css/dashboard.css index 93a0e1471..91ab75b62 100644 --- a/web/pgadmin/dashboard/static/css/dashboard.css +++ b/web/pgadmin/dashboard/static/css/dashboard.css @@ -24,23 +24,6 @@ line-height: 30px; } -.dashboard-tab-btn-group button { - padding: 5px; -} - -.dashboard-tab-btn-group > button { - margin: 2px 3px 2px 0px; - min-width: 40px; -} - -.dashboard-tab-btn-group > button:first-child { - margin-left: 3px; -} - -.dashboard-tab-btn-group > button:last-child { - margin-right: 3px; -} - .graph-container { margin-top: 10px; height: 150px; diff --git a/web/pgadmin/dashboard/static/scss/_dashboard.scss b/web/pgadmin/dashboard/static/scss/_dashboard.scss index eeac9c4f5..7cddfb6c5 100644 --- a/web/pgadmin/dashboard/static/scss/_dashboard.scss +++ b/web/pgadmin/dashboard/static/scss/_dashboard.scss @@ -16,14 +16,6 @@ margin-bottom: $grid-gutter-width/2; } -.dashboard-tab-btn-group { - background-color: $color-gray-light; - border: 2px solid $color-gray; - left: 0px; - right: 0px; - padding: 2px; -} - .graph-error { background-color: $color-gray-lighter; padding-top: 20px @@ -44,5 +36,5 @@ .dashboard-link a { cursor: pointer; - color: $color-fg-theme; + color: $color-fg; } diff --git a/web/pgadmin/misc/__init__.py b/web/pgadmin/misc/__init__.py index 0041e4a98..68d4381af 100644 --- a/web/pgadmin/misc/__init__.py +++ b/web/pgadmin/misc/__init__.py @@ -23,6 +23,8 @@ MODULE_NAME = 'misc' class MiscModule(PgAdminModule): + LABEL = gettext('Miscellaneous') + def get_own_javascripts(self): return [ { @@ -47,10 +49,6 @@ class MiscModule(PgAdminModule): """ Register preferences for this module. """ - self.misc_preference = Preferences( - 'miscellaneous', gettext('Miscellaneous') - ) - lang_options = [] for lang in config.LANGUAGES: lang_options.append( @@ -61,13 +59,39 @@ class MiscModule(PgAdminModule): ) # Register options for the User language settings - self.misc_preference.register( - 'miscellaneous', 'user_language', + self.preference.register( + 'user_language', 'user_language', gettext("User language"), 'options', 'en', category_label=gettext('User language'), options=lang_options ) + theme_options = [] + + for theme in config.THEMES: + theme_options.append({ + 'label': config.THEMES[theme]['disp_name'] + .replace('_', ' ') + .replace('-', ' ') + .title(), + 'value': theme, + 'preview_src': url_for( + 'static', filename='js/generated/img/' + + config.THEMES[theme]['preview_img'] + ) + }) + + self.preference.register( + 'themes', 'theme', + gettext("Theme"), 'options', 'standard', + category_label=gettext('Themes'), + options=theme_options, + help_str=gettext( + 'A refresh is required to apply the theme. Below is the ' + 'preview of the theme' + ) + ) + def get_exposed_url_endpoints(self): """ Returns: diff --git a/web/pgadmin/misc/bgprocess/static/scss/_bgprocess.scss b/web/pgadmin/misc/bgprocess/static/scss/_bgprocess.scss index 7821853e3..63f716135 100644 --- a/web/pgadmin/misc/bgprocess/static/scss/_bgprocess.scss +++ b/web/pgadmin/misc/bgprocess/static/scss/_bgprocess.scss @@ -5,7 +5,7 @@ $bgproc-container-pad: 2px; border: none; padding: 0px !important; text-align: left; - color: $color-fg-theme; + color: $color-fg; min-width: 500px; max-width: 500px; .card { diff --git a/web/pgadmin/misc/file_manager/static/css/file_manager.css b/web/pgadmin/misc/file_manager/static/css/file_manager.css index 669bca71d..1fc5bd374 100644 --- a/web/pgadmin/misc/file_manager/static/css/file_manager.css +++ b/web/pgadmin/misc/file_manager/static/css/file_manager.css @@ -56,12 +56,6 @@ /** Opera hack */ x:-o-prefocus, .file-input-container {top:16px;width:198px;} -@-moz-document url-prefix() { - .filepath { - padding:0.2em 0.3em; - } -} - /** Input file Replacement - end */ .file_listing #contents.grid { text-align: left; diff --git a/web/pgadmin/misc/file_manager/static/scss/_file_manager.scss b/web/pgadmin/misc/file_manager/static/scss/_file_manager.scss index f85bced82..6bd173dc9 100644 --- a/web/pgadmin/misc/file_manager/static/scss/_file_manager.scss +++ b/web/pgadmin/misc/file_manager/static/scss/_file_manager.scss @@ -105,7 +105,7 @@ .fm_folder_grid, .fm_file_grid, .fm_file_list { - color: $color-gray-darker; + color: $color-fg; } .fm_drive { @@ -130,20 +130,6 @@ wrap: no-wrap; } -.filepath { - background-color: $color-gray-lighter; - border: 1px solid $color-gray-lighter; - margin: 0; - padding: 0.1em 0.3em; - line-height: 1.7em; - -webkit-border-top-left-radius: 6px; - -webkit-border-bottom-left-radius: 6px; - -moz-border-radius-topleft: 6px; - -moz-border-radius-bottomleft: 6px; - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - .file_listing #contents.grid li { display: block; float: left; @@ -158,24 +144,6 @@ border: 1px solid $color-bg; } -.file_listing #contents.list thead { - background: $color-gray-lighter; /* Old browsers */ - background: -moz-linear-gradient(top, rgba($color-primary, 0.71) 0%, rgba($color-primary, 0.98) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba($color-primary, 0.71)), color-stop(100%,rgba($color-primary, 0.98))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba($color-primary, 0.71) 0%,rgba($color-primary, 0.98) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba($color-primary, 0.71) 0%,rgba($color-primary, 0.98) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba($color-primary, 0.71) 0%,rgba($color-primary, 0.98) 100%); /* IE10+ */ - background: linear-gradient(to bottom, rgba($color-primary, 0.71) 0%,rgba($color-primary, 0.98) 100%); - border-bottom: 1px solid $color-gray-lighter; - display: inline-block; - width: 100%; -} - -.btn-group.filemanager-btn-group .btn:not(:first-child):not(:last-child), -.btn-group.filemanager-path-group .btn:not(:first-child):not(:last-child) { - border-left: 1px solid $color-gray-light; -} - .file_manager { position: absolute; top: 0px; @@ -191,7 +159,7 @@ .file_manager #uploader .filemanager-path-group { padding: 0; display: block; - border: 1px solid $color-gray; + border: 1px solid $border-color; height: 30px; border-radius: 5px; -webkit-border-radius: 5px; @@ -207,7 +175,7 @@ } .file_manager #uploader .filemanager-btn-group { - border: 1px solid $color-gray; + border: 1px solid $border-color; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; @@ -222,12 +190,12 @@ .fileinfo .prompt-info { text-align: center; - color: $color-fg-theme; + color: $color-fg; } .allowed_file_types { border-top: $panel-border; - background: $color-bg-theme; + background: $color-bg; z-index: 5; padding: 0.25rem; } @@ -261,7 +229,7 @@ float: left; width: 100%; height: 21px !important; - border: 1px solid $color-gray-dark; + border: 1px solid $border-color; border-radius: 0 !important; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; @@ -313,7 +281,7 @@ display: none; padding: 1rem; border-bottom: $panel-border; - background: $color-bg-theme; + background: $color-bg; position: absolute; top: 0; left: 0; @@ -322,7 +290,7 @@ } .upload_file .dz_cross_btn { - color: $color-fg-theme; + color: $color-fg; right: 0px; position: absolute; background: transparent; @@ -359,7 +327,7 @@ .file_selection_ctrl button.select_item { display: inline; - background: $color-bg-theme; + background: $color-bg; padding: 9px 0px 9px 0px; margin-left: 0px; margin-right: -7px; diff --git a/web/pgadmin/preferences/static/js/preferences.js b/web/pgadmin/preferences/static/js/preferences.js index b047b13a1..3344ed388 100644 --- a/web/pgadmin/preferences/static/js/preferences.js +++ b/web/pgadmin/preferences/static/js/preferences.js @@ -242,10 +242,17 @@ define('pgadmin.preferences', [ // Convert the array to SelectControl understandable options. _.each(p.options, function(o) { if ('label' in o && 'value' in o) { - opts.push({ + let push_var = { 'label': o.label, 'value': o.value, - }); + }; + push_var['label'] = o.label; + push_var['value'] = o.value; + + if('preview_src' in o) { + push_var['preview_src'] = o.preview_src; + } + opts.push(push_var); if (o.value == p.value) has_value = true; } else { @@ -454,6 +461,7 @@ define('pgadmin.preferences', [ } if (e.button.text == gettext('Save')) { + let requires_refresh = false; preferences.updateAll(); /* Find the modules changed */ @@ -463,8 +471,27 @@ define('pgadmin.preferences', [ if(!modulesChanged[pref.module]) { modulesChanged[pref.module] = true; } + + if(pref.name == 'theme') { + requires_refresh = true; + } }); + if(requires_refresh) { + Alertify.confirm( + gettext('Refresh required'), + gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), + function() { + /* If user clicks Yes */ + location.reload(); + return true; + }, + function() {/* If user clicks No */ return true;} + ).set('labels', { + ok: gettext('Refresh'), + cancel: gettext('Later'), + }); + } // Refresh preferences cache pgBrowser.cache_preferences(modulesChanged); } diff --git a/web/pgadmin/static/img/load-node.gif b/web/pgadmin/static/img/load-node.gif deleted file mode 100644 index 500fa0860e2eb9883f86c30da579008475f596c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1728 zcmaLUYfMvV8o=?_0=-b6t(-%J4!uyhmeRt3-fxHApp^o00J&3YK}w+uij3<To%i&d zI1Vc(#`S|^3}cKj4#Nt#);Nq8)-c93j&WS$x~_4IF^)0DF~&H?jO%2aWIvF7KD}R_ z<o7;*Z>`5*3<`k|yaM3eyLSM9n>TOn-@iW?4B|NMcDrM-*pVYg?%ut7^ytz2{QTnL z;_~uxy<Ts(+lPjR&YnG+o143N^X8{dpFVr`Y-wp}&z?Pvjg37$J?GAyyMFz;*=!bz z#gmhhCr+H`>gw9DW5<IB4``Ye2n2(JgNF_s8W<QjefqT5>*e$LCr_R{aNt08b~cB@ zdHneC%a<>=ZQB-)$6vjA1tC0s{P>$UZ{EIrd*Q-`D_5?(e*OB^ty{CRv(KMDzj5Qn z!-o&=-Me?~+O_57<;BIt`}gnPzJ2?}ix+q9+}XZ;`>9i>=I7_@>gt-BnmRf<LZOh; z>9ks{mo8nJn3%vY?8%cSDwS&Q-o0&YZECezCX-E1PuJJiXJ%&Z-n}~<4p&uGUA}zz z>eZ`{9z8m9=FHBWJNNC|clhw(*49>rVf=o7ZEdYmsXTV<m`Ef_PfwqjnMp}WIe743 zVPPSPqDG@}e0*G^(eQY@(a}+bLebpZJUl$SYuB##H~(!EKPU52-#-<<<T%H|!7bs9 z@`=GMo8-Yr@Z)GKxUp<-q(24}@Av^X(d5J%+!bZoq*d=1N`Kw|H6q~rc^80WoT4Pk zVl_>1KU!N-26ZMqmCDb}S81SLYt@k~_G&4uLy!X?iJv(Mtad9*P7}>x4m(UqN9KUp z4cQs!oF2D9jv#9esWw9{TRdlTx*$)uMn;=eSsqf9EiaI0F`j{I`A<AYQOGH;l$Kg} zlX(p%nIFFJ?Co7z&1Qk$zw|%C$qzzvQtO7ajxGreENhziZR*aoJq47nzNtop5Wen` z&bT+Z;d82jN@Xh<s3&XujSIk}gURcxXFVQRSa)dwL7_N+FPQrN0cwTZ1;TL=*v0E} zXbsEt4K!9%*78gyjk{O!J&6~zl(x%!&LF`M#@fh?a37#&Nx)jQ67bUxKwfI*AiKMi zMFS_t&lY5)r$wTap?hFcBZ@lL52bO*yo~`1y-D35fgxc(1BAm}ur$+_@Qp-ZMU6H= zl&PV#5=&53V(;~MZ`hg8nMg#|f1WZ~zaza>GMv!swTK4QQ4VL3vl=%$G<RtaPcrse zzWT52e{-y)oBE)$7fFQyMbt|JqnJ~eJ<t&e_$XXi6P0+Z)m?&m3rQ4I80h|<b!KR6 zDPllPS`ze?@)Dw<Rv7I!C6Lw4Fc$rmA#%rHmZdM@8}>tQku4D@Q9@6zA&>b(I!<bO zjd@zAe+fn@#LeR65mrn$^5eAJla{h(Rjl|Ugu9aQ_rypr7M2!>>@?u1M#JLDn#_tU z%4JE-a$p!MHD8!RdJGmb?UQFZpd%z<K)53cZ3ZGy9T|tgYJCC~_!seS88m~vz|tn1 zTe~63JI{=dB|%-E{hySyt(Zk(1cH&O!p;0tO6Sp<VA;qPZeqlMX_sz&MZ*7|SnDtr zsYEzJ0|GaMd@}B6s*OS=y<S3R%FAhK!AYINrlG4V!+p@o`-+LJ7eT^>F~G*z^!5CC zPd5jmQ_FRQQ0vj3uU@wi>ag#bu1J*B|C=fh1iW;ziXcMeP4zx{>%>T>x@~NYg~64B z{IqNP|Mk<C_or7(y!%69z142Ene((XFcB^u3$Hdb=21FSgJM9Bnu}^3ajn%vdu2Wp z>aiK7u^*q;G0;_NS)?#&_+lKZltOmd1%_2#04qwm7uz`^D9Pv))0V)WK8Ni?>W@PR zn$_~hZUe=w-!`^2LlD{S{4Sg=U}wl{darJfuhjOl-*B|v<Uvu7jwW@O2kCRUtW*JQ zLfmGA#M8^B2;7E2Wl3NP@UmRczg9JiIE|3sNzCeeA(*B<H)WEY1_NzHv#xd#4D-il zMWr}o`8SNxSz_)oh&61fXta9ps6s5ERPy@By1H(TG&tqumS+b#9Y6j3FBkDo05Ja- Dm!B`= diff --git a/web/pgadmin/static/img/loader-small.svg b/web/pgadmin/static/img/loader-small.svg new file mode 100644 index 000000000..dc5faaf40 --- /dev/null +++ b/web/pgadmin/static/img/loader-small.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 38 38" style="enable-background:new 0 0 38 38;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#EBEEF3;stroke-width:5;} + .st1{fill:none;stroke:#326690;stroke-width:5;} +</style> +<g> + <g transform="translate(1 1)"> + <circle class="st0" cx="18" cy="18" r="16"/> + <path class="st1" d="M34,18c0-8.8-7.2-16-16-16 "> +<animateTransform accumulate="none" additive="replace" attributeName="transform" calcMode="linear" dur="0.7s" fill="remove" from="0 18 18" repeatCount="indefinite" restart="always" to="360 18 18" type="rotate"> + </animateTransform> + </path> + </g> +</g> +</svg> diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index a03ac7cac..4d9aa9155 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -2065,6 +2065,11 @@ define([ $(this.$sel).append($element); $(this.$sel).trigger('change'); } + + let new_value = _.findWhere(this.field.get('options'), {value: evt.params.data.id}); + if(new_value.preview_src) { + this.$el.find('.preview-img img').attr('src', new_value.preview_src); + } }, formatter: Select2Formatter, @@ -2090,6 +2095,14 @@ define([ ' <% if (helpMessage && helpMessage.length) { %>', ' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>', ' <% } %>', + ' <% for (var i=0; i < options.length; i++) {%>', + ' <% var option = options[i]; %>', + ' <% if (option.preview_src && option.value === rawValue) { %>', + ' <div class="preview-img mt-2">', + ' <img src="<%=option.preview_src%>" class="img-fluid mx-auto d-block w-50 border" alt="'+gettext('Preview not available...')+'">', + ' </div>', + ' <%}%>', + ' <%}%>', '</div>', ].join('\n')), render: function() { diff --git a/web/pgadmin/static/js/sqleditor_utils.js b/web/pgadmin/static/js/sqleditor_utils.js index fde7283b0..d305f4779 100644 --- a/web/pgadmin/static/js/sqleditor_utils.js +++ b/web/pgadmin/static/js/sqleditor_utils.js @@ -135,7 +135,7 @@ define(['jquery', 'underscore', 'sources/gettext', 'sources/url_for'], if(sqlEditorUtils.previousStatus != status && !$status_el.hasClass('fa-query_tool_connected')) { $status_el.removeClass() - .addClass('fa-custom fa-query-tool-connected'); + .addClass('pg-font-icon icon-query-tool-connected'); is_status_changed = true; } } @@ -153,10 +153,10 @@ define(['jquery', 'underscore', 'sources/gettext', 'sources/url_for'], msg = gettext('An unexpected error occurred - ' + 'ensure you are logged into the application.'); $el.attr('data-content', msg); - if(!$status_el.hasClass('fa-query-tool-disconnected')) { + if(!$status_el.hasClass('icon-query-tool-disconnected')) { $el.popover('hide'); $status_el.removeClass() - .addClass('fa-custom fa-query-tool-disconnected'); + .addClass('pg-icon-font icon-query-tool-disconnected'); } } }) @@ -173,10 +173,10 @@ define(['jquery', 'underscore', 'sources/gettext', 'sources/url_for'], // Set bootstrap popover $el.attr('data-content', msg); // Add error class - if(!$status_el.hasClass('fa-query-tool-disconnected')) { + if(!$status_el.hasClass('icon-query-tool-disconnected')) { $el.popover('hide'); $status_el.removeClass() - .addClass('fa-custom fa-query-tool-disconnected'); + .addClass('pg-font-icon icon-query-tool-disconnected'); } }); }, diff --git a/web/pgadmin/static/scss/_aci_tree.overrides.scss b/web/pgadmin/static/scss/_aci_tree.overrides.scss index 8b7b6683b..806798065 100644 --- a/web/pgadmin/static/scss/_aci_tree.overrides.scss +++ b/web/pgadmin/static/scss/_aci_tree.overrides.scss @@ -1,3 +1,19 @@ +.tree-icon-right:before { + font-family: $font-family-icon; + content: "\f054" !important; + right: 15px; + top: 3px; + font-size: 0.6rem; + line-height: 2; + border-style: none; +} + +.aciTree { + & .aciTreeButton, & .aciTreePush, & .aciTreeItem, & .aciTreeIcon, & .aciTreeText, & .aciTreeColumn { + color: $color-fg; + } +} + .aciTree .aciTreeLi { display: grid !important; cursor: pointer; @@ -6,13 +22,9 @@ font-family: $font-family-primary; font-size: 0.815rem; } -.aciTree.aciTreeFocus .aciTreeFocus > .aciTreeLine { - background-color: $color-primary-light !important; - border-right: $active-border !important; -} .aciTree .aciTreeSelected > .aciTreeLine { - background-color: $color-primary-light !important; + background-color: $tree-bg-selected !important; border-color: $color-primary-light; border-right: $active-border !important; border-left: none !important; @@ -21,13 +33,15 @@ -webkit-border-radius: none !important; -moz-border-radius: none !important; border-radius: none !important; -} -.aciTree .aciTreeSelected > .aciTreeLine .aciTreeItem { - background-color: $color-primary-light; - border: 1px solid transparent; - -webkit-border-radius: none !important; - -moz-border-radius: none !important; - border-radius: none !important; + + & .aciTreeItem { + background-color: $tree-bg-selected; + border: 1px solid transparent; + -webkit-border-radius: none !important; + -moz-border-radius: none !important; + border-radius: none !important; + color: $tree-fg-selected; + } } .aciTree .aciTreeItem { white-space: nowrap !important; @@ -36,31 +50,45 @@ background: none; } .aciTree .aciTreeLine.aciTreeHover { - background-color: $color-gray-light; - -webkit-border-radius: none !important; - -moz-border-radius: none !important; - border-radius: none !important; -} -.aciTree .aciTreeLine.aciTreeHover .aciTreeItem { - background-color: $color-gray-light; - border: 1px solid transparent; + background-color: $tree-bg-hover; -webkit-border-radius: none !important; -moz-border-radius: none !important; border-radius: none !important; + & .aciTreeItem { + background-color: inherit; + border: 1px solid transparent; + -webkit-border-radius: none !important; + -moz-border-radius: none !important; + border-radius: none !important; + color: $tree-fg-hover; + } } -.aciTree.aciTreeFocus .aciTreeSelected >.aciTreeLine .aciTreeItem { - background-color: $color-primary-light; -} -.aciTree.aciTreeFocus .aciTreeFocus >.aciTreeLine .aciTreeItem, -.aciTree.aciTreeFocus .aciTreeSelected.aciTreeFocus >.aciTreeLine .aciTreeItem { - border: 1px solid transparent; + +.aciTree.aciTreeFocus { + + & .aciTreeFocus > .aciTreeLine { + background-color: $tree-bg-selected !important; + border-right: $active-border !important; + } + + & .aciTreeSelected >.aciTreeLine .aciTreeItem { + background-color: $tree-bg-selected; + } + + & .aciTreeFocus >.aciTreeLine .aciTreeItem, + & .aciTreeSelected.aciTreeFocus >.aciTreeLine .aciTreeItem { + border: 1px solid transparent; + color: $tree-fg-selected; + } } + .aciTree .aciTreeButton { background: none; } .aciTree .aciTreePush { - width: 30px; - background: url(../img/collapse_expand.svg) 12px 7px no-repeat; + background: none; + text-align: center; + font-size: 0.85em; } .aciTree .aciTreeEntry, .aciTree .aciTreeBranch, @@ -68,11 +96,41 @@ overflow:hidden; background: none !important; } -.aciTree .aciTreeInode >.aciTreeLine .aciTreePush, -.aciTree .aciTreeInode >.aciTreeLine .aciTreePush.aciTreeHover { - background-position: 6px center !important; + + +.aciTree .aciTreeInode>.aciTreeLine .aciTreePush { + &:before, + &.aciTreeHover:before { + background-position: 6px center !important; + font-family: $font-family-icon; + content: "\f054" !important; + border-style: none; + margin-left: 5px; + } +} + +.aciTree .aciTreeLoad>.aciTreeLine .aciTreePush { + &:before, + &.aciTreeHover:before { + content: " " !important; + } } -.aciTree .aciTreeOpen >.aciTreeLine .aciTreePush, -.aciTree .aciTreeOpen >.aciTreeLine .aciTreePush.aciTreeHover { - background-position: -14px center !important; + +.aciTree .aciTreeOpen >.aciTreeLine .aciTreePush { + &:before, + &.aciTreeHover:before { + background-position: -14px center !important; + font-family: $font-family-icon; + content: "\f078" !important; + border-style: none; + margin-left: 5px; + } +} + +.aciTree .aciTreePush>span { + width: 15px; + height: 15px; + left: 2px; + background: $loader-icon-small 0 0 no-repeat; + background-color: inherit!important; } diff --git a/web/pgadmin/static/scss/_alert.scss b/web/pgadmin/static/scss/_alert.scss index f5082c37b..3f2e561e3 100644 --- a/web/pgadmin/static/scss/_alert.scss +++ b/web/pgadmin/static/scss/_alert.scss @@ -49,7 +49,7 @@ .alert-info { border-color: $color-primary; background-color: $color-primary-light; - color : $color-fg-theme; + color : $color-fg; background-image: none; } diff --git a/web/pgadmin/static/scss/_alertify.overrides.scss b/web/pgadmin/static/scss/_alertify.overrides.scss index 0c579dd6a..0063d565f 100644 --- a/web/pgadmin/static/scss/_alertify.overrides.scss +++ b/web/pgadmin/static/scss/_alertify.overrides.scss @@ -23,6 +23,11 @@ } } + .ajs-body { + background-color: $color-bg !important; + color: $color-fg !important; + } + &.ajs-resizable, &.ajs-maximized { & .ajs-body { @@ -64,6 +69,8 @@ padding: 0; min-height: $footer-min-height; border-top: $panel-border; + background-color: $color-bg !important; + color: $color-fg !important; & .ajs-buttons { border: none; border-radius: 0rem; @@ -115,6 +122,8 @@ border: $panel-border; border-radius: $panel-border-radius; box-shadow: $dialog-box-shadow; + background-color: $color-bg !important; + color: $color-fg !important; } .ajs-content { padding-left: 0 !important; diff --git a/web/pgadmin/static/scss/_backgrid.overrides.scss b/web/pgadmin/static/scss/_backgrid.overrides.scss index 47915bb8e..c929ddd45 100644 --- a/web/pgadmin/static/scss/_backgrid.overrides.scss +++ b/web/pgadmin/static/scss/_backgrid.overrides.scss @@ -80,8 +80,8 @@ .backgrid thead td, .backgrid thead th{ - background: $color-bg-theme; - background-color: $color-bg-theme !important; + background: $color-bg; + background-color: $color-bg !important; text-align: left; } @@ -147,7 +147,7 @@ span.form-control:disabled { .subnode { border: $panel-border; - background: $color-bg-theme; + background: $color-bg; } .subnode-noouter-border { @@ -203,8 +203,8 @@ span.form-control:disabled { } .subnode-header { - background-color: $color-bg-theme; - color: $color-fg-theme; + background-color: $color-bg; + color: $color-fg; border-bottom: $panel-border; } @@ -240,7 +240,7 @@ span.form-control:disabled { } fieldset.inline-fieldset { - background: $color-bg-theme; + background: $color-bg; } } .subnode-footer { @@ -289,7 +289,7 @@ table.backgrid { } & td.editor { - background-color: $color-bg-theme !important; + background-color: $color-bg !important; } & td.edit-cell.editor:focus { diff --git a/web/pgadmin/static/scss/_bootstrap.overrides.scss b/web/pgadmin/static/scss/_bootstrap.overrides.scss index 3b2df9fd6..3ab687f23 100644 --- a/web/pgadmin/static/scss/_bootstrap.overrides.scss +++ b/web/pgadmin/static/scss/_bootstrap.overrides.scss @@ -226,12 +226,6 @@ legend { } } -/* Override default bootstrap popover fonts & size */ -.popover-content { - font-family: $font-family-primary; - font-size: 13px; -} - .switch-cell { height: 0px; width: 0px; @@ -252,10 +246,10 @@ td.switch-cell > div.toggle { & .nav-link { border: none !important; padding: $tabs-padding; - color: $color-fg-theme; + color: $color-fg; &.active { border-bottom: $active-border !important; - color: $color-primary; + color: $active-color; } } } diff --git a/web/pgadmin/static/scss/_codemirror.overrides.scss b/web/pgadmin/static/scss/_codemirror.overrides.scss index 27e028b75..2857455be 100644 --- a/web/pgadmin/static/scss/_codemirror.overrides.scss +++ b/web/pgadmin/static/scss/_codemirror.overrides.scss @@ -1,6 +1,3 @@ -.cm-s-default .CodeMirror { - background: $color-editor-bg; -} /* To override inbuilt Green color for matchingbracket */ .cm-s-default .CodeMirror-matchingbracket { color: $sql-bracket-match-fg !important; @@ -10,6 +7,8 @@ .CodeMirror { font-size: 1em; font-family: monospace, monospace; + background-color: $color-editor-bg; + color: $color-editor-fg; } /* Ensure the codemirror editor displays full height gutters when resized */ @@ -39,14 +38,34 @@ } /* make syntax-highlighting bold */ -.cm-s-default .cm-keyword { - font-weight: 600; - color: $color-editor-keyword; -} - -.cm-s-default .cm-number { - font-weight: 600; - color: $color-editor-number; +.cm-s-default { + & .cm-quote {color: #090;} + & .cm-keyword {color: $color-editor-keyword; font-weight: 600;} + & .cm-atom {color: $color-editor-fg;} + & .cm-number {color: $color-editor-number; font-weight: 600;} + & .cm-def {color: $color-editor-fg;} + & .cm-punctuation, + & .cm-property, + & .cm-operator { color: $color-editor-operator; } + & .cm-variable {color: $color-editor-variable; } + & .cm-variable-2, + & .cm-variable-3, + & .cm-type {color: $color-editor-variable-2;} + & .cm-comment {color: $color-editor-comment;} + & .cm-string {color: $color-editor-string;} + & .cm-string-2 {color: $color-editor-string;} + & .cm-meta {color: $color-editor-fg;} + & .cm-qualifier {color: $color-editor-fg;} + & .cm-builtin {color: $color-editor-builtin;} + & .cm-bracket {color: $color-editor-bracket;} + & .cm-tag {color: $color-editor-fg;} + & .cm-attribute {color: $color-editor-fg;} + & .cm-hr {color: $color-editor-fg;} + & .cm-link {color: $color-editor-fg;} + + & .CodeMirror-cursor { + border-color: $color-editor-fg; + } } /* Codemirror buttons */ @@ -84,7 +103,7 @@ } .CodeMirror-linenumber { - color: $color-fg-theme; + color: $color-fg; } .debugger-container .breakpoints { diff --git a/web/pgadmin/static/scss/_pgadmin.style.scss b/web/pgadmin/static/scss/_pgadmin.style.scss index 7a6768b8d..39f1fb4e3 100644 --- a/web/pgadmin/static/scss/_pgadmin.style.scss +++ b/web/pgadmin/static/scss/_pgadmin.style.scss @@ -90,6 +90,7 @@ .panel-link-heading:hover { text-decoration: none; + color: inherit; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { @@ -97,7 +98,7 @@ } #navbar-user { - font-size: $navbar-user-font-size; + font-size: 0.9em; } @@ -143,19 +144,12 @@ .pg-navbar { font-size: $navbar-font-size; - background-color: $navbar-color-bg; + background-color: $navbar-bg; padding-left: 0rem; padding-right: 0.5rem; & .nav-item .nav-link{ line-height: 1; } - - .pg-navbar-brand-arrow { - border: $navbar-height/2 solid $navbar-brand-arrow-bg; - border-right-color: transparent; - border-bottom-color: transparent; - border-top-color: transparent; - } } @@ -192,7 +186,7 @@ &.pg-prop-btn-group-below { text-align: right; padding: $footer-padding; - background: $color-bg-theme; + background: $color-bg; border-top: $panel-border; } } @@ -407,9 +401,9 @@ padding: 0rem; border: $panel-border; border-radius: $card-border-radius; - background-color: $color-bg-theme; + background-color: $color-bg; fieldset.inline-fieldset { - background: $color-bg-theme; + background: $color-bg; } } @@ -548,7 +542,8 @@ fieldset.inline-fieldset > div { .dashboard-tab-container, .pg-panel-statistics-container, -.pg-panel-depends-container, +.pg-panel-dependencies-container, +.pg-panel-dependents-container .pg-prop-coll-container, { width: 100%; overflow: auto; @@ -561,7 +556,7 @@ fieldset.inline-fieldset > div { left: 0px; right: 0px; top : 0px; - background-color: $color-bg-theme; + background-color: $color-bg; } /* Overrides/fixes for pgAdmin specific styling */ @@ -733,7 +728,7 @@ table tr th { & button { background: none; border: none; - color: $color-fg-theme; + color: $color-fg; padding: 0; } & button:focus { @@ -843,11 +838,11 @@ body { } .pg-el-container { - background-color: $color-gray-lighter; + background-color: $negative-bg; } .nav-tabs { - background-color: $color-bg-theme; + background-color: $color-bg; } .editor-toolbar { @@ -1031,3 +1026,18 @@ table.table-empty-rows{ border-radius: $input-border-radius; padding: $input-btn-padding-y $input-btn-padding-x; } + +::placeholder { + color: $input-placeholder-color; +} + +.pg-font-icon { + &:before { + font-style: normal; + font-weight: normal; + font-stretch: normal; + font-size: 100%; + line-height: 1; + vertical-align: middle; + } +} diff --git a/web/pgadmin/static/scss/_select2.overrides.scss b/web/pgadmin/static/scss/_select2.overrides.scss index f0e4e7e68..d94d064af 100644 --- a/web/pgadmin/static/scss/_select2.overrides.scss +++ b/web/pgadmin/static/scss/_select2.overrides.scss @@ -1,6 +1,22 @@ -.select2-container--default .select2-results__option--highlighted[aria-selected] { - background-color: $color-primary-light; - color: $color-gray-dark; +.select2-dropdown { + background-color: $input-bg; + color: $input-color; +} + +.select2-container--default .select2-results__option--highlighted[aria-selected], +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: $dropdown-link-hover-bg; + color: $dropdown-link-hover-color; +} + +.select2-container--default .select2-selection--multiple { + background-color: $input-bg; + color: $input-color; +} + +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: $dropdown-link-hover-bg; + color: $dropdown-link-hover-color; } .select2-container--default .select2-search--inline .select2-search__field { @@ -11,6 +27,11 @@ width: 100% !important; } +.select2-container--default .select2-search__field { + background-color: $input-bg; + color: $input-color; +} + .renderable > .select2-container { width: 100% !important; } @@ -18,10 +39,12 @@ .select2-container .select2-selection--single { height: auto; min-height: 28px; + background-color: $input-bg; & .select2-selection__rendered{ line-height: inherit; padding: $input-padding-y $input-padding-x; padding-right: 1.5rem; + color: $input-color; } } diff --git a/web/pgadmin/static/scss/_webcabin.pgadmin.scss b/web/pgadmin/static/scss/_webcabin.pgadmin.scss index 5c0ff69a8..7560bc050 100644 --- a/web/pgadmin/static/scss/_webcabin.pgadmin.scss +++ b/web/pgadmin/static/scss/_webcabin.pgadmin.scss @@ -1,30 +1,30 @@ .wcDocker { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcModalBlocker { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcPanelBackground { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcPanelBackground .wcCenter { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcFrameFlasher { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcFrameShadower { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcFrameTitleBar { height: $title-height; - background-color: $color-bg-theme; + background-color: $color-bg; border-bottom: $panel-border; } @@ -43,7 +43,7 @@ .wcFrameButton.disabled { pointer-events: none; - color: $color-gray; + opacity: $btn-disabled-opacity; } .wcFrameButton .fa { @@ -52,7 +52,7 @@ .wcFrameButtonBar { height: $title-height; - background-color: $color-bg-theme; + background-color: $color-bg; border-bottom: $panel-border; padding: 0rem 0.25rem; @@ -80,7 +80,7 @@ } .wcPanelTab, .wcFrameTitle{ - color: $color-fg-theme; + color: $color-fg; padding: $tabs-padding; margin: 0px; } @@ -152,7 +152,7 @@ .wcFloating .wcPanelTabActive { border-bottom: none; - color: $color-fg-theme; + color: $color-fg; font-weight: bold; } @@ -162,7 +162,7 @@ .wcFloating .wcFrameTitleBar { height: $title-height; - background-color: $color-bg-theme; + background-color: $color-bg; border-bottom: $panel-border; } @@ -182,7 +182,7 @@ .wcPanelTabActive { border-bottom: $active-border; - color: $color-primary; + color: $active-color; } .wcFrameEdge { diff --git a/web/pgadmin/static/scss/pgadmin.scss b/web/pgadmin/static/scss/pgadmin.scss index d2d5e9022..890f5082b 100644 --- a/web/pgadmin/static/scss/pgadmin.scss +++ b/web/pgadmin/static/scss/pgadmin.scss @@ -1,6 +1,3 @@ -@import './resources/pgadmin.resources.scss'; - - $theme-colors: ( "primary": $color-primary, "danger": $color-danger, diff --git a/web/pgadmin/static/scss/resources/_default.style.scss b/web/pgadmin/static/scss/resources/_default.style.scss index f90fe47ad..4a0bd9192 100644 --- a/web/pgadmin/static/scss/resources/_default.style.scss +++ b/web/pgadmin/static/scss/resources/_default.style.scss @@ -60,10 +60,6 @@ &-dark { background-color: $color-gray-dark; } - - &-darker { - background-color: $color-gray-darker; - } } /* Borders */ @@ -113,10 +109,6 @@ &-dark { border: 2px solid $color-gray-dark; } - - &-darker { - border: 2px solid $color-gray-darker; - } } /* Typography */ @@ -167,3 +159,13 @@ .text-semibold { font-family: $font-family-semibold; } + +.not-selectable { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + ms-user-select: none; + user-select: none; + cursor: default; +} diff --git a/web/pgadmin/static/scss/resources/_default.variables.scss b/web/pgadmin/static/scss/resources/_default.variables.scss index 55507a33d..10fa13b4c 100644 --- a/web/pgadmin/static/scss/resources/_default.variables.scss +++ b/web/pgadmin/static/scss/resources/_default.variables.scss @@ -1,5 +1,5 @@ /** Dividing a pixel var with 1px or rem var with 1rem removes the unit px/rem **/ -$enable-flex: true !default; +$enable-flex: true ; $white: #fff; $black: #000; @@ -7,9 +7,6 @@ $black: #000; $color-bg: $white !default; $color-fg: #222222 !default; -$color-bg-theme: $white !default; -$color-fg-theme: #222222 !default; - $color-primary: #326690 !default; $color-primary-fg: $white !default; $color-primary-light: #d6effc !default; @@ -19,60 +16,55 @@ $color-secondary: $white !default; $color-danger: #e53935 !default; $color-danger-fg: $white !default; -$color-danger-light: #F39999; -$color-danger-lighter: #FAECEC; +$color-danger-light: #F39999 !default; +$color-danger-lighter: #F39999 !default; $color-success: #43a047 !default; $color-success-fg: $black !default; -$color-success-light: #DDF1DE; +$color-success-light: #DDF1DE !default; $color-warning: #eea236 !default; $color-warning-fg: $black !default; -$color-warning-light: #fce5c5; +$color-warning-light: #fce5c5 !default;; -$color-gray-darker: #5b6d7c; -$color-gray-dark: #848ea0; -$color-gray: #bac1cd; -$color-gray-light: #ebeef3; -$color-gray-lighter: #f3f5f9; +$color-gray-dark: #848ea0 !default; +$color-gray: #bac1cd !default; +$color-gray-light: #ebeef3 !default; +$color-gray-lighter: #f3f5f9 !default; $color-brand: $white !default; -$color-editor-bg: $color-bg !default; -$color-editor-keyword: #908 !default; -$color-editor-number: #964 !default; -$color-editor-foldmarker: #0000FF !default; -$color-editor-activeline: #50B0F0 !default; /* Typography */ -$font-family-primary: "Roboto", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; -$font-family-semibold: "Roboto Medium" !default; -$font-family-editor: "Source Code Pro", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; -$font-family-icon: "FontAwesome" !default; +$font-family-primary: "Roboto", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +$font-family-semibold: "Roboto Medium"; +$font-family-editor: "Source Code Pro", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +$font-family-icon: "FontAwesome"; $border-width: 1px; -$border-color: #dde0e6; +$border-color: #dde0e6 !default; $border-color-dark: $color-gray; -$box-shadow: 0 0.5rem 3rem $color-gray-dark; - -/** Bootstrap Variable Changes **/ -$font-family-monospace: $font-family-editor !default; -$font-family-base: $font-family-primary !default; -$gray-600: $color-gray-dark; -$gray-900: $color-fg-theme; -$body-color: $color-fg-theme; +$box-shadow-base-color: $color-gray-dark !default; +$box-shadow: 0 0.5rem 3rem $box-shadow-base-color; + +$font-family-monospace: $font-family-editor; +$font-family-base: $font-family-primary; +$body-color: $color-fg; $font-size-base: 0.875rem; -$line-height-base: 1.5; // no change +$line-height-base: 1.5; $text-height-calc: $line-height-base*$font-size-base/1rem; $grid-gutter-width: 15px; -$border-radius: 0.25rem; //no change +$border-radius: 0.25rem; -$text-color: $color-fg-theme; -$text-muted: $color-gray-dark; +$text-muted: $color-gray-dark !default; -$navbar-dark-color: #fff; -$navbar-dark-hover-color: #fff; -$navbar-dark-active-color: #fff; +$navbar-bg: $color-primary; +$navbar-font-size: 0.925rem; +$navbar-height: 32px; +$navbar-dropdown-top: 100%; +$navbar-dark-color: $color-primary-fg; +$navbar-dark-hover-color: $color-primary-fg; +$navbar-dark-active-color: $color-primary-fg; $navbar-dark-disabled-color: $color-gray; $navbar-toggler-padding-y: 0.25rem; //no-change @@ -80,7 +72,10 @@ $navbar-toggler-padding-y: 0.25rem; //no-change $form-group-margin-bottom: 0.5rem; $btn-active-box-shadow: none; -$dropdown-link-hover-color: $white; +$dropdown-bg: $color-bg; +$dropdown-color: $color-fg; +$dropdown-link-color: $color-fg; +$dropdown-link-hover-color: $color-primary-fg; $dropdown-link-hover-bg: $color-primary; $dropdown-border-color: $border-color; $dropdown-box-shadow: 0 0.125rem 0.5rem rgba($color-gray-dark, .175); @@ -88,8 +83,14 @@ $dropdown-divider-bg: $dropdown-border-color; $dropdown-padding-y: 0.25rem; $dropdown-item-padding-x: 1rem; $dropdown-spacer: .125rem; //no-change +$dropdown-link-disabled-color: $text-muted; $nav-divider-margin-y: .25rem; +$popover-bg: $color-bg; +$popover-body-color: $color-fg; +$popover-border-color: $dropdown-border-color; +$popover-box-shadow: $dropdown-box-shadow; + $input-btn-focus-width: 0.1rem; $btn-disabled-opacity: 0.5; $btn-transition: color .05s ease-in-out, background-color .05s ease-in-out, border-color .05s ease-in-out, box-shadow .05s ease-in-out; @@ -98,9 +99,8 @@ $card-spacer-y: 0rem; $card-spacer-x: 0rem; $card-border-radius: $border-radius; $card-border-color: $border-color; -$card-cap-bg: $color-bg-theme; -$card-bg: $color-bg-theme; - +$card-cap-bg: $color-bg; +$card-bg: $color-bg; $navbar-padding-y: 0rem; $navbar-padding-x: 0rem; @@ -122,36 +122,50 @@ $table-cell-padding: 0.25rem; $table-header-cell-padding: 0.75rem; $table-hover-bg: none; //we will use our own classes $table-active-bg: $color-primary-light; -$table-border-width: $border-width !default; -$table-border-color: $border-color !default; -$table-head-bg: $color-primary !default; -$table-head-color: $color-primary-fg !default; - -$input-bg: $white; //no change -$input-color: $color-fg-theme; +$table-border-width: $border-width; +$table-border-color: $border-color; +$table-head-bg: $color-primary; +$table-head-color: $color-primary-fg; + +$input-bg: $white !default; +$input-color: $color-fg !default; +$input-placeholder-color: $text-muted; $input-border-color: $border-color; -$input-border-radius: $border-radius; //no change -$input-disabled-bg: $color-gray-lighter; -$input-btn-border-width: $border-width; //no change -$input-border-width: $input-btn-border-width; //no change +$input-border-radius: $border-radius; +$input-disabled-bg: $color-gray-lighter !default; +$input-btn-border-width: $border-width; +$input-border-width: $input-btn-border-width; $input-btn-padding-y: .25rem; -$input-btn-padding-x: .75rem; //no change - -$component-active-bg: $color-primary; //no change -$input-btn-focus-width: .2rem !default; //no change -$input-btn-focus-color: rgba($component-active-bg, .25) !default; //no change -$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default; //no change -$input-focus-bg: $input-bg !default; //no change -$input-focus-border-color: lighten($component-active-bg, 25%) !default; //no change -$input-focus-color: $input-color !default; //no change -$input-focus-width: $input-btn-focus-width !default; //no change -$input-focus-box-shadow: $input-btn-focus-box-shadow !default; //no change - -$btn-border-radius: $border-radius; //no change - -/***************/ +$input-btn-padding-x: .75rem; + +$component-active-bg: $color-primary; +$input-btn-focus-width: .2rem; +$input-btn-focus-color: rgba($component-active-bg, .25); +$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color; +$input-focus-bg: $input-bg; +$input-focus-border-color: lighten($component-active-bg, 25%); +$input-focus-color: $input-color; +$input-focus-width: $input-btn-focus-width; +$input-focus-box-shadow: $input-btn-focus-box-shadow; + +$btn-border-radius: $border-radius; + +$color-editor-fg: $input-color; +$color-editor-bg: $input-bg; +$color-editor-keyword: #908 !default; +$color-editor-number: #964 !default; +$color-editor-string: #a11 !default; +$color-editor-variable: $color-fg !default; +$color-editor-variable-2: #05a !default; +$color-editor-builtin: #30a !default; +$color-editor-comment: #a50 !default; +$color-editor-bracket: #997 !default; +$color-editor-operator: $color-fg !default; +$color-editor-foldmarker: #0000FF !default; +$color-editor-activeline: #50B0F0 !default; -$active-border: 3px solid $color-primary; +$active-color: $color-primary !default; +$active-border: 3px solid $active-color; $panel-border-width: $border-width; $panel-border-color: $border-color; $panel-border-radius: $border-radius; @@ -166,25 +180,27 @@ $footer-height-calc: $footer-min-height+$footer-padding*2; // ($splitter-hover-width - $panel-border-width) should be even number to split evenly. $splitter-hover-width: 7px; -$navbar-brand-bg: #222222; //place image url if image -$navbar-brand-arrow-bg: #222222; -$navbar-color-bg: $color-primary; -$navbar-font-size: 0.925rem; -$navbar-user-font-size: 0.875rem; - -$navbar-height: 32px; -$navbar-dropdown-top: 100%; $dropdown-submenu-top: -$dropdown-spacer; -$table-bg: $color-bg-theme; +$table-bg: $color-bg; $table-bg-selected: $color-primary-light; $table-hover-border-color: $color-primary; $table-hover-border: $panel-border-width solid $color-primary !important; $table-hover-bg-color: $color-primary-light; $datagrid-bg: $color-gray-light; +$tree-fg-hover: $color-fg; +$tree-bg-hover: $color-gray-lighter; +$tree-fg-selected: $color-fg; +$tree-bg-selected: $color-primary-light; + +$sql-grid-data-cell-fg: $input-color; +$sql-grid-data-cell-bg: $input-bg; +$sql-grid-title-cell-fg: $input-color; +$sql-grid-title-cell-bg: $input-bg; + $sql-title-padding: 3px; -$sql-title-bg: $color-gray-darker; +$sql-title-bg: #5b6d7c; $sql-title-fg: $white; // Toolbar + editor title heights + title bottom border $sql-editor-panel-top: $title-height + $text-height-calc*16px + $sql-title-padding*2 + $panel-border-width; @@ -194,13 +210,13 @@ $sql-history-success-bg: $color-primary-light; $sql-history-success-fg: $color-primary; $sql-history-error-bg: $color-danger-lighter; $sql-history-error-fg: $color-danger; -$sql-hint-bg: $color-bg-theme; +$sql-hint-bg: $color-bg; $sql-hint-active-bg: $color-primary; $sql-hint-active-fg: $white; -$sql-bracket-match-fg: $color-gray-darker; +$sql-bracket-match-fg: #5b6d7c; $sql-bracket-match-bg: #f5d2af; -$negative-bg: $color-gray-light; +$negative-bg: $color-gray-light !default; $dialog-box-shadow: $box-shadow; $alert-icon-color: $white; @@ -221,3 +237,4 @@ $loading-bg : rgba($black,0.6); $loading-fg : $white; $loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%23326690;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; +$loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%23326690;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; diff --git a/web/pgadmin/static/scss/resources/_pgadmin.variables.scss b/web/pgadmin/static/scss/resources/_pgadmin.variables.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/pgadmin/static/scss/resources/_theme.variables.scss.sample b/web/pgadmin/static/scss/resources/_theme.variables.scss.sample new file mode 100644 index 000000000..3168f1a6a --- /dev/null +++ b/web/pgadmin/static/scss/resources/_theme.variables.scss.sample @@ -0,0 +1,61 @@ +$color-bg: $white; +$color-fg: #222222; + +$color-primary: #326690; +$color-primary-fg: $white; +$color-primary-light: #d6effc; +$color-primary-dark: #295c85; + +$color-secondary: $white; + +$color-danger: #e53935; +$color-danger-fg: $white; +$color-danger-light: #F39999; +$color-danger-lighter: #F39999; + +$color-success: #43a047; +$color-success-fg: $black; +$color-success-light: #DDF1DE; + +$color-warning: #eea236; +$color-warning-fg: $black; +$color-warning-light: #fce5c5;; + +/* Used at highest level in places like tooltip backgroud */ +$color-gray-dark: #848ea0; +/* Used for text colors at certain places */ +$color-gray: #bac1cd; +/* Used mostly for panel background empty spaces */ +$color-gray-light: #ebeef3; +/* Used mostly for disabled input backgrounds */ +$color-gray-lighter: #f3f5f9; + +$color-brand: $white; + +$border-color: #dde0e6; +$box-shadow-base-color: $color-gray; + +$text-muted: $color-gray-dark; +$input-bg: $white; +$input-color: $color-fg; +$input-disabled-bg: $color-gray-lighter; + +$color-editor-keyword: #908; +$color-editor-number: #964; +$color-editor-string: #a11; +$color-editor-variable: $color-fg; +$color-editor-variable-2: #05a; +$color-editor-builtin: #30a; +$color-editor-comment: #a50; +$color-editor-bracket: #997; +$color-editor-operator: $color-fg; +$color-editor-foldmarker: #0000FF; +$color-editor-activeline: #50B0F0; + +$active-color: $color-primary; + +$negative-bg: $color-gray-light; + +$loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%23326690;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; +$loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%23222222;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; + diff --git a/web/pgadmin/static/scss/resources/_utils.scss b/web/pgadmin/static/scss/resources/_utils.scss deleted file mode 100644 index ed749243d..000000000 --- a/web/pgadmin/static/scss/resources/_utils.scss +++ /dev/null @@ -1,9 +0,0 @@ -.not-selectable { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - ms-user-select: none; - user-select: none; - cursor: default; -} \ No newline at end of file diff --git a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss new file mode 100644 index 000000000..b5513e7f6 --- /dev/null +++ b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss @@ -0,0 +1,63 @@ +$white: #fff; +$black: #000; + +$color-bg: #4d4d4d; +$color-fg: #fff; + +$color-primary: #40617d; +$color-primary-fg: $white; +$color-primary-light: #536270; +$color-primary-dark: #15354f; + +$color-secondary: #424242; + +$color-danger: #c7262d; +$color-danger-fg: $white; +$color-danger-light: #914649; +$color-danger-lighter: #8f8282; + +$color-success: #6baa7f; +$color-success-fg: $black; +$color-success-light: #5a7863; + +$color-warning: #eea236; +$color-warning-fg: $black; +$color-warning-light: #fce5c5; + +/* For dark theme - colors are in reverse order + * gray-dark is lighter then gray-light + */ +$color-gray-dark: #595959; +$color-gray: #424242; +$color-gray-light: #303030; +$color-gray-lighter: #212121; + +$color-brand: $white; + +$border-color: $color-gray; +$box-shadow-base-color: $color-gray-lighter; + +$text-muted: #9d9fa1; + +$input-bg: $color-gray-lighter; +$input-color: $color-fg; +$input-disabled-bg: $color-bg; + +$active-color: $color-fg; + +$color-editor-keyword: #C792EA; +$color-editor-number: #FF5370; +$color-editor-string: #C3E88D; +$color-editor-variable: $color-fg; +$color-editor-variable-2: #EEFFFF; +$color-editor-builtin: #FFCB6B; +$color-editor-comment: #848ea0; +$color-editor-bracket: $color-fg; +$color-editor-operator: $color-fg; +$color-editor-foldmarker: #0000FF !default; +$color-editor-activeline: #50B0F0 !default; + +$negative-bg: $color-bg; + +$loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%2340617d;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; +$loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%2340617d;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; diff --git a/web/pgadmin/static/scss/resources/dark/dark_preview.png b/web/pgadmin/static/scss/resources/dark/dark_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..09cc988c1072ed12628d8cce47f735937e937d05 GIT binary patch literal 55602 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 z°4=z=Whlg|j+nbB1-(Jy)h2|X=*DHlFxk<~b5;o(R8!=#h|XtK{ynw1XaRRStt z{wc_N@7x4i8coA+^bLSv3;@8?==YT7^bR}h*nIS(|5g#HZLTl7!ECep{Ei!1c(%v- zO!>YCgR!kV=g<rn$T)&lkny}4kxO|qbd>jZfA@EbMuu3zO3RP%<X3hY!wWCH#{^(Y zHt^XC8y$Duc~|8XjU1cfacqioP2ht3T&W=B5#Zc&uD0hia}S)WdEg(Wh+g`Z;u?>F zpTMM*fc6YRqj#J{Zd$zbNgjg!fB*Mor4{nPy8I=^D4^0|x*+4g9ybp;3c_g-IPXff zWW?6+r(%@6;z&N@RucXAKr0%-VQ;g-gM(ktCmS}PuhmT_)@%xd_>hObEwK`86L|X3 zxK#JZEjl9KoOgi_JdFyzCy|2~qxZ=VN2R`#APON`;1j%z!3jj}ef{g-ERH?DVDq$x zKCIcJ>{9XLvaJw=kRyf?C|MaPj^`+W11=*_qnb2P(@M&_&oKoV&PH+5*1TX6IGld% zgigU$O9-!d&QKF{)vT5%sQsV)>}S`!ndtGIkGs~*2TA4e$H36)$N+zN^Zaf%j8H%f z4s<9ZKrDB{pFpjp;7Au}5zNL3BxIu-T?2dx{(1^{rYlCL3u4TSAquke*JVPZKs#4( zvom<e75%ZXF7S~JxxjPjk1nlW`rEE_HMcC4_cV#z*!SwytLqxqNn}0<UwjK(ElWo& zKQht~fg_Cvy|kr}(;(V%Kl(D{#kZ|2QIVpx3w@C*KLQi4ViEs?YfuFYue^N&Ac8fS z5v=Ag3v6xJ%{SlF{BHTw;(-Sp+-y|}@BX2WHs5*AyP9+U=rzqjJMPq+eeOAB-?FkV zULl6ybsr(pZIr-;l%p7X;~1L5#s-WvdM1)PYI#zaCcGNX7E~F$jbO(;3V<91{&sRL zNPE@}Oztbgkp*D^lCspcf(D)lTR!F5Fj5xG<m0Rqk$a(mjP8p72tWSt;7H!|Er8$$ z-NO<d85e$(t1bOfnScYHXJkTl;a!<gaEIaSeTGi*ljy}5vZYj<p^Fqf!n5Y~GKp7q zG>4BJj3c9dG=PadGGqIb$h;ps_W~1KGFPe7ha?Elk!NV8Z+WKmqY8A&Kk(xhJ$_x% z(Uw7c&Jq768S6NEi|*uSuLHZlgrq6`y4Ss~27-6L``xvM+3NxOl|Ans)NE6jxb*Oc zHDBL$$L6H6hubct1#nP#GeoOEt*=kc0XTz*%t$#01tCCJQXsVVm;hs0j6j+3BNH&n zsD+J}*oKJFOlsh8N$BWjxS`AQBxTS^N%)~K&pC4fUz}M!_oUDUk8^O8i{YhA@U(H} z-f|uBgr68DTF@7HjiN)o1W|@2xds<ZfgSv%<Pk1(a4dSbcg^s?J&LE^=h1t8Wvm20 z_7J`H<{kGMy@Dv3Czbgy9N?0>1;^-=Vu$#U;G|<VeP5*bN$AM23tI4+L`P)HCZt}! z%RTo820%t_c1e)Z#SqW{y!vW8x7=J_2`gJct$uLx4|m<xJfnQ`!)t4TRR)c9i3nPh zg-AErxQaId+}HA(D_sl9(Yo_od1Du5+~n206o^fb$k&gN%HfbdDMR>eAt^#og0AkG zK$yIqF(|ZiWaqi3jGqKvp4A%*f5@rd{dS(<8n@foE<5Wv`WOiQQWG=Av~DJaj~D!c z6*#Wby6u`r_{d(1%sCrLOEa`g%0qAdDx<>Bwx!FvX3hMLF<`Tk1eD$~<6N^H_OEdu zO)K+pa79jZLSE!VM;R&@WuxQZ7$;BYz&Ae(9qfZVW}zecZnt*nE;ccUSLN9MR%JZm zjf0p#>{rhEN^J>dChXbIep(r9-M?&lT8!?to15=`^Bc{oGCA_GkA19m4+Tn7(8^ju zAdu-wW7JkSl;J)_Sb+SEuYaR{yxTp58(T^+)pA_@pw)HXF=J@c8eW9l7PNbWV^)sy zz!muNc}_w2&_We3IGp>OKpxl1`f2@8up^@$m6Vs45|%54FD+>mk)$PVyw$6HHguI| z(!{y&0+yi?@==+Q8=aEjG;jye0Uw#0j56+}5_7LBS<*2FGK90Xbghppn-duKO{D?X zG$}S`ct<ZO`tMRUZMxVqIq5;s2VX=x{VZn+9cI-9ev?b?v5Q#~e#nuo=wAcOT!a-S zqimwmFo*!e8Sj$GL;>X+0KVXY^NS$oKW1dZ)1AxfZ`J@ZeuikDHbmGN0}Mn6ddBt) zeroxJXtTg}h_I)d7NEgf0T45SDBKo6V~F5H?Jg4h_z~bZ5uE?<5C2dHr`?wrCBedL zuQ|qpFUqqGm5(gp*8~E3JvV0P+H!+wy6au=HVOuwID@Uo4L8^m@QgFgSPcH7$`5)@ z*8(26CPD<JfBBbxsk$CiX4?A+P+8((wi)g&61@k$?fJcfdccA6W7(Eg2#nL%AzN0_ zSX0Q>>A`N$)505vSGG*o<fOsD2OXC)ktaIzve2Q?z|YCJi^P{TJhC!_T=hQLgk?vg z(!dZ*$&@Ck#idmxSpDNao>5z9uIEY@)*7$`6g3M%<R|zr>6JDCfm5^-;lLxX5RzRn zlu6)`SBt{E(9kYF?Rj_;m<7QLzjtA?+phE5?gS><)ShS)AXNgcweIj~CtR&!{HiF_ z>H?re)#z3J{+95Keg=qMAKKCK)e@f7G3bXKfOl3|-)6>KQ0!7~k!SQr#$?S--RmNO zL%$~84F9a!epOuv4+mV+rr0`}faBN|&4XwHAD*Nx<rJ9X9DDgiM^|<MHk-bzY;Iuq zEIf`Y-=SULe#{950+nX9;DC{~A`#>|N9Q6k=V;$+=W$=k^B7AzPd{45y$3Fsev%`H z7r^{}QECe<x3;m!N0@@P;HTB639qZDwR`!`FRzZ0wQgE{0*jwOiQiF4pzo^NHVRjs zlPNyc#I{6N2?*e5aX&Ij{&A1w;wxo>h8o$Jj6DTsh1(B*0xf#A{IaaVHU6gMA-KSx zdp2TdMnJSjCAibdhz%;M706+2aX$;Z&^qjhhv1_Zw#nWSBxaS<Fx>5DZNAY#rs(KO zU-<CTJ7d@EPfv3c4sz(b45m%|rf|*)F`J;oz@0O2HHR)q?|`f_TCtk$1j>MoZwi#o zJy#hJxJrP-Qv#v;!7(ZcKDt2nMZ!Be(T#UJI!@~p%4x;pTfk5WXj#q*caUu016x8j zd|h`Z$%x$uvRe0aEqKL_2GKU?KAPE0SMUbmY2Sxas~pW}r|+)i)W$dH93A);^w<a4 z(%U$GG6-hwgUtuym(KBMovx)({cyO){x|smNH}p!=k4U0QQTD=_nsoOB=;Gru`Et3 zF(6Jxd7k@$>%Q~0Q&2#XXM~+&?mH?EUOxr3^L25KzBV1M84L$UZvx`DxB@Tv!{4lM z18<xoXOhs4mvJkeabU}X7pcmqyboUYs^l~aI;{^U{9|*1d}L};nGZsRp2)pl9?#@i zDmnGT+3(&)`YP|h+xN38+sB_2UilWg?q?J7vKPL+VSu0?#hbvr2$*2}+Q~Dsd%Eb1 zJc)ojqp$=(&jd@!vpjDLTz*ED8kUgbnC>TU1+oA~09@*XR>8Xl`$9)r0(f&@O^nV2 z_i^Y^j?D1n82Aj2`~ny5N#KryTOK&bRKkaIe8Ja60*3?9X?XEkCx_~_qe<|An^yOv zG9QEo958Kg>J?Qu+(V~xJh&zw`sq?mgJ|l#PhV(cD@#cSox$b(dll9oUL%)HJ^)4$ zj3EZ$9sw|BGgFq>P>$L;?`#rcf+7bXSY;LkSB#2qbz`*_jfV=RmY0AhsDSV2zV0(P z3^DlIIO@$M_!Gmorqj|3Z}u3sG;?jKfJrQ~gON{UgtkEmOp`zO;ZVAw;Ft-|M3>ex zJcbO&aTvTocm~}EOTZ&juuWKme)^de7Z~8G$aEj^h8H;8A4f+0Xb)}P*<~Z4*>T!L z7b<Z2HI_>*?2c{fvOA{(`tUqFC^xH|#-SO{aPlu>=X`~okfUFhbbz&68MeB+9NFYB zUPISr696&nCsDkBre$*Ci6_=UbW1iE5d}$v$M{Y7n29!Ut0t8MI|8;%m~WjjK-*<` zXINm7*Af{6vC5h}u@>?pAO1)Uuz>?sXmZ|l!Y6(NC4nBzc=km$_hW>PUPWw=$@HTO zyab-7J?&|AsZ)Xjr)K0T085~bJnG2G8%MVSpdY+x`2`EjcIlCP+(s}?ngtgg1$C2S z-bV7CGu_#~%G*ezWE2{DkLb;AFl1)e65o<(!|N?G>KaUyni+RG_QHU1X*yz)<Q}=G z<ZMvV*2OGx8bw?CIa^bikf)&R6P;4<=h!YY={bKTU;a#o|N5a1l@E~ZF%U;^ZZ-k1 zSD*wYAoyA9$9V}ZiGUcG`#yy9xPu>8jg2B1m;qf$aFfr3iGWGjHc$Z5`bMAiQ-&e# zR`yR+OJ(9DxR&Y|9@PBK1tUQ|PQl5w0?~>m{Kqf`(Ik(&X7f}8Ss$q-Y@z^vS{>J2 zdtI#n!0xh^M;CY;oDRv`hj!?(i-dozC#^~jm5DBaBi;K^GU`VMx!G3|-E6ADyK8>9 zU>bOEC<h)LX00xHsN~4Vk&INh^sW^+3lIJH8g&ofXku&VbuH-gfvyuiwbV^&Zn1!C z6po3P!HfcUe|#PXBz(z{A#h-eti6gyAp{s>R7T*c*QMcTirwZ6oIfAK5$JSpZ~5gd z^=%o7w(NlOfaL={g3e7h-c(zN%9>RcDB;%%6)cu2;ghrJdT1fQ&k68h-0Z@#W>J9B z`jgNc84aU}OvsKLR0NC;U)~)TTm@Y6()F4I?l7F~XPlaxRXXrpe96UCj?v#ZJhb8U zp2tzap+CIkD}j+w^7NJ+bS*!+=>xnAFTAjB6&HAe%8k0uh6GbvcK!5cKdo|sgZ*mt zu}?=fcUf8SkbpQT{iEm@_8gCFfz7B?##y2=3|_xykuUyKhPNy<P=?urhRY^D3rtu7 z6J`lVim(JBEg3;TO`1R{k1`C^ea54VmVsSI#L?|a0P&1M86iQZc2(Xr2New5S6<M8 zL(R;&HeLoJICnFE4}TIo0w1HO^cUwyi`2CMf=(3x`p5{agA#anAQR<XOL#HxY@&dy z{XCaXjXw(RAbf-F!wa?)eikdNL4_u`557QxZg|MZHQnKDn2ZLY0h28R9@&p0^Fi?3 z2a|rmN_Uz)!qe;g^dT=f(cy9?bgC?47fV409Q-y73o_YY6C3<XKKdh{O+Nq@zP)mX zVT`wvYeFEfwn4b>p4O7>bjrsFYT3YW^doF7xCpcjA3V>&Pv8xXlxL(I%Jotv_!%Dj zZCc?Cubf)|!|O)$5LqFwEc~hCm*`X`@IrU4J!|vH(5GqTw($i=j^P1L=WxJDmcgC8 zvmB#0c-R9Owe>v-?C=v^^n;f?<G__Sx&qTLypu^})IR=-oECID4!(hTS}@x5x6f0S zFG!1Ylv(R+Rn;$l%Jn;juRKe6a`24r`3d@w%VORI8&&yi`eT3#u_c0u5OR!gJWnD( z_uaE*E7x&y0fHm=IrmF>d6NiV0*k>Xf1bMs=5i!7hBimI8DxUEBVNZ%VBmS9@`V@I zi*U=wqH;Yh+;Q{4Pp;90%7iSVhjHPI$_Gz)3=a2ZNnOM1rN?#bvTd8u%TmZ`lswSH z<{TI4DE7AHy&L>)6pT^N!Hz%kHRpqPWhZ`{egIsMS{P0s$Wg7Hu4xR%QGUXsEaMlN z(&^@TKUCM&b8rZoQ7cEu?&(%Ly02>jhwgH_#mAwPUG9V?6Bg((F>~9kx7BYl;}s9% zq_kd55*S9v0K2ZD?zW?Gy2x-`xZ~iKhn(qzo^&bU>8)VKg*7Z6JcdHxARj+Cr%m9I zRafw0bKsIWr`PpECtJ%0y~szN*sFY9>tv8j;9)PBf#yd`p)dULHLxS!K{i1S@@+N& z5W{{F<!hZ;ity$)zq!t2zW@F2uj{=8hju>3{-h^8sSYGt;vs0*uIri4d}bXWC-gcX zzss)m3-$t^896h+lyLfsPp_ZeGznqg+dH5Mj%W!k=S!U^9IcikSPv*rF-jlPF)(ds zo?-Nm-ZsUtOnSWZr7x|H76UWOcUc)^H_#1->u-MJo6Ywx{(cSq!{AQCH@VXb{a983 zzTd2l%~^HPOpf`umG_LjWN&vO6Cvzo8eY(;(zL_O5f440IrqQLt+p^NyvU5bstDL4 z`Li?hsc<dDGEVK9-G1(KpQ{y~>uGoh&Pk7SA|OBc$xp5}^Xc;4px8}UbkG}F*trR= z&wlo^^?DGm!8?6bHmMZuNBIQ;tvVlHKjL9W)Yg!eU}|>4bZ%mRBUra}+G(fNB`-FC z;0S74pJlY8HAg)0q!a5_P<C0-V)(%ieo$wDAAHDzt5XU#YCZucc$Qlvl#X|Fpiv9K zQ7cZX!9wt1$p^Frb!!R*1$+p05=SFLumwo6vttfJ?>Y&7yY9B@Vrv=?#(5>Wn<bGE zxd<M3p?^mK9Z%EhPC2b0aBjb29$uAsxj${9OLq16$3MQVKLyXV;OFPu#Df`mK@xsr zWzwv28kc5x)|CoH#YhHzTEK#0mx)b)OLt(iiOTN?d)O?O!4SM!f?@lf?@i@fC)QGB z7LC$40%dW4)vH(6pl3OW8rxeC3`==V!O%EArx74@3AG+PQ!7&p1GFRoyaZr4(6L-8 z0Z>bXp;(A(3-t>xxUepx$av=<dQzUF;Zty9*aDt=c)_QmR<51I$px-16Zu(sq(#o~ zwXD$sFB&^>?$X>%E6N)uDm}cwGY$OE<%n)HYiUjkk37L5Ta^%7)cUh4&kZ-;P+Obm zW}B8}!FA&eH_mtax|Guxiru=%OoPK>dGy#>$7_3&j5&`&6PwWcGO?0x3=Q)yWj6g; z;37FqW6TO@j7DO_oX1LfhOWkN-F~LECSWl#tL$|h)uw{xjW^v`101;NHZx}Dj>-uV z^2_5Vz`_AHS{SW>vD^uMhKL?CXuS#6<S>qNt6`Ow7?>Zv!h2*3E*Zcx4%|uQpe3b6 zqf!!_$TIq!6js0dVA4}QxFm?M1-hID4;g?FS_2P`SrRyDO`<QYD|VXQP|%BRdC4hx zX2CmY+1uBYt@%rZ%RjWv(%_gB&anLKSQ=#$<WVc1lTSW*J|YZ*`fL7-V@my;Fs%l8 z^4!t2i2?@YoU+tn1nar`gAA8&(;|}3b$-g`oH2suI`<bvt*1gW3&%|Jckvu7hR6x< z;K(V_`YWl8e~Us;`H$A{j&{jCDc8=yjgxoIUxCk|CHmn|k!6*c2UE%~w1&rAbFS!p zk<Ye#Dnf`$TDYHMV1Su(Ho^%jo+{dTS@tbo02M2$kMg|QM3KMperWOoKZy=p`;n1~ zDmEE9<n7YFD(*h~S3b)_Hi0hss`OPMQP;-&)yoOxJIE$B;<d;k_?NH$Ri$$O`a>w3 zhcKd?P#A#`Xj(YN%H(B4F*x~SbU7+Zxsv?uOO83OHx};YS?<+iY+>QJk#W=l3%RFx zUW^J|=*)2=-0h1t{G2cF5nghPOd`AXm}2rQf?j|Xo1d7!0toF%a4x36b|W<BB$<+@ z&vUc}p7UJ07v2IUU`Ntl;7DzFu73rdo6->a@;o@fj4W~<`YWgf+_hZmkGx5NmFscv z*Svk?*S^09r`(LKRXGaikx4sK2ncCo!Vj#-p@M1IM4r3fKHqEtpg@)&M*z;%M3iB? zO6{KK5t6_skQp=60!)qV+^kxHoO}YQ@@b8jBoQd#2wYtc_mZ3kM(!>35x;lcSvLAC zYq0R6+e;qyX8V=a%>ZKLPYV|h<l*R^^K_@>BO7qr4mkkqM7P0)6Wqv`EZv_qfeE%& zaqT9RYstAETbc$>m3_+|W`&2Qz>MRQw;x?ZHuG}Q^`wV&Rp-eM#!{!qGXW6a>$jL+ zq&$rr2hkgw@O+d_$Xj)}ddOGd1|j-&yC1<*gcPGO?)R!!y{b-5c&|0VKpq0(P@LCH zFQ=ZHn=97_bmw=S;0S^zcqRilzkyz}q~5nR*nQGTC)KicF0llL(4%z0lCdsVVid;Y zjy~q-`Z0RrlxDJRXka2}oB%?W@|i(54(KCDg1njVefQh9IqcBGstnAAn-pqS6kYL2 z-h$I9r<_uEYVi)TM3%EUc5K67`iUo=SmDy42`v23ar9Roj`=6DH+v4Qv1f9h79O-< zs+_%ZPTpXdpfeeA?6Jqz4G`>3bkvbYHNLKR;e{702Jl(sG$z|M8+pO^)TchR&Q^Q( zUWLnlx}t;L1bsGPgAz6Y?;xA-jQp0*`zDdtGUSbL1U5Tm_;6EpGa*dEF+pHEtYeNj zrUndSC=B=CKk>=t^wUqTj_#hMdn~vp2e!!%=M-$y1UpoKWd^Lh4saP*T||K|y$y76 zZ~<RSm6KT882%Rv^f?j01vSCjR$p_aQn>zx`A<CVS-uds^G>BTz4nee^DV$yUpNlj zKBxxXf}6axsL9{b5;L8yD~|(9j($LQcr=smyfhGM1x7}`SDj&y(U3OILFR(C3X-FO zXC`=Bc%X+?W7BMyKIjykRvwTAeDcAK2Fd+d<x~NU@dqCKqJv!d1AE{r+m?S_(ZMD( zXiU60Hv?{4x=}W<SuTT#&>6;DabQbYtlJ|z_mbqJIO_nl5IGtHJMf?b>$<aalTt=2 z!S?!`N2^f{M;Td%#SqlaT9u4ex#esD!l&yCH^;NT9RoT4{PP!SiEJW+-lOMQe1e@8 z5u-MMjwdxcC$qquECW|<U$S(T$d%4GJ-8Q~e?gUFSF*&Tz`FA;JJ+QnTJl=&oL1|1 z+C={B$8sw0w4i5!7dp_Z^~cV@+otqV*4(zH1^|IiMSjQachp7Q@^&Ss;2(8_PfJzn zRD<K9i!Q46LXTag*u+5xm#wf0j~5i1c5fK3o^STcU^p)2w1Xc33U2OkGBwuu-#x#1 z>eHTDTYv%?=Vw?1%*Y7SkK-`Hxe{2d&$7Ny9xyq8XKFz|#vlMKXR1N4(8>8YBihNp z(KR}UCFSM8r}OZytZTs$kAZ8W*zH$!zYGR0l}qSF4_T6H?hWH(oM&K4;Du+hN=s@S z7|GL?TNm&G*D-Quf6gT|!o$YsMvBY?%P!?qfsgnD-~3qQynWGK*K~wGd`rV@Lf&n* z*&KF*DT0WjL@-r4<&SHEU@R1r<i0WjUz}Mm)N)ENV^nd3z){{gSON@ZQ67$@w&4k+ zG0r?+u48ycuhe#wacD?6dBbz=&C8T*Cx<%@?&N{bkFFSdf^eSCdJI3{IJfT5jydi7 zlj2C(3a?b4>?8Lkh1JgA4@PX;Q7e7@-5YjDY1?EQ&QhI+KF4+I%W|BuIc%?Qbb&i~ z_?gOhkWJv9e{MEofCR$nt1%QM<S3wVpmy@iPmLu}6k+CN^IEnTl;_SRg0J_>(Ye}9 zf;U0WUU>|$rc$hpWB%sS|AjMhfX#J&;dd4)0>89DD&MZVfZLBIe2{hYK#%an3Hp^8 z=U#Y7CE-|c+_Pckc^o+MfW^ifbDg7m;LbuX7-{*napYcPA33o__hOTksAc*?j*{TF z6m&!uaKsjRecLk$etOw#0w89ifO!$j8)wGDVmx`~XnaczlGc${1~`nXJsuQeQ-;6= zOA{T=b(3|?+|!CA_#`-&y9LM*bWhRYM<xQi^DbH=fsfyGak_vTnYEAfB9S4U;OnQy zcA0U`@j%z$gQ=xXhhS?pwDmm-o(1P#+aqUi{m42klS$$A;sckBfyp+(XSar5;79<J z&o#XScQ34^zD8&0Am7+WS9rlTHcUU!+aQ~uOLE#QCqW``#__CYJ*$rA>9V#BJHd%j z83ZR-6BrDPLzo#>o^v}gDhe=BVz$>->Sm(6sBYHuxZ{pn+zLESsw)8gawW8LYD-lt zlQ3)c@S`7IXHe5+pM@6ugJY=&zOxlO8FiWP!I>;i@xh`W{O||$U1qWr2xduO3lenw zxW_%NR$?cgd~%&&Fv&G8FLaEaYp%YgF3m8R=A&7@FLV3}$2T`ze?whbGcLS-JfT%Z zd~|_(cv<>k;rW9eyt=%beN}VXsi)OtN#rv(H&=fq`q0GAXO&YwdIsG?rwZ!SQ%|k4 z-{=td*-KY+fMqP-N6PrCWiZ1k7y40V`MhtCbnb)u48Y`s?Rf+O0qRR%`ckbmwAv_) za0Cl8SJv=RlzY~0z4fhcZC?E17gy(_Sjnua{9rS(GtWG;DnJc%>~Y674?OsRWftyd zB?w+xTZdpRcY+gt_5idjN3hnixq9{0&1DOlHq2s>fp4oVY4z&W^&RRA9dyMn9?(wa zS`z#0y-y9|Dj~X?B_(hPEL!Yl^WB>(LB!Tx<1Xo82ZFREP&UReL+iKuZo4<Dwp&%5 z)Y2oe0e{*==4^1U60r9xv&*gzI_ThPx0cxm<lwV$@=D8aRymDJFFYCymi_1zX?3Z1 zZ(GytG8pu*3%pw5MfTq1AC;Eh3rA7349^LPa2TZ7T<2>2-gI{ns2W<35Zs)rU0(2l z7t{bs;O*9*m*&9%^XX52dUaCg*IsjNHM|23*uS<MErZ~=%VmV&3$1vu7E#yV=PMnp zmm-5%f*%~@iYF~4fnQ|-->h&$e~u~`4o%j^RPn&Ex=MnGmMr?M`@{oV@p*)Cd5J9K zCtrbwOyZ;hESlw;HYrOMHxzl3IXn_vTHowd&jl}%7Lvf+@6EHCVF~`AQA>;*$$|}5 zI?6|!x=g`CXKbT(^T+57Y_`i_7`dRPR$MfU1&wfGiej)2e$a!P0}ec(E|h-GbDmSz z_^Dm8=N%)yqs$I&yD&Q_uu-^u11X&$!o`WygbB84?TjsTX$YfW#cAN@4EU7L&0)|g z&oseVIf<cbJ#lhyyJ(qJz^y;%PB)5!!%1I`)6m`my~sa);Gr`(qT6v~q-<=AtjR!Y zkIj({n`_IwjenZ+@J)w?U&x}}@=lAiOF4~0XKYE}uR*EEg$$OG4miPAL8b!kwF!At z9-B=7WQ@H+aE}qzTCt@~`PLPM?Ov9_P?~_J`OatwR$|0)1jpRZxtdqmD4ipDmZNiq zz)+Vv#VCUpzj#DzuZ)ss(jz_@Sl4jdbdY)I6=b>!fWZ+tRbI-PF^h>4bdzV;QF(ff zO$Y*P%@G_ywM&`X(7=9xV8abh<bzK4Y?0-Y4sF>D<Dsi(=paW&xDyb&rXxB7R{&%a z?)4`3G+s9OF~Ar=gx?l~dxQ{$B(FU8lxKpY=W120HO5+cT(t{Pjj25Eml(VNDN!`| z?tv${Rvvyz>ZhQZaf$vcI%U~7(!e=7LJJv;qDP*z9@|H}3VQgHM^JLk>Bwyq+)3Gm z8y<2+KYU%`2#@H8#|9D!D4tD<M;R&b*wZ93A0`|63{B3-Au0E_*m8ao4EVd0Q}B#) zWE<pGZN4liS_(SGu?aFE2ggl50LD-WpK(a;MF_?W)R?-$4AOnc(S0=t2a99p83Ps= z<!hJWB=Rdq(ON)hnP`rO9&qx^`En(+qKon2>CU_EtgT!4$8C+^L2Fo$#{<4}cQeRN zE)2|b_q8}8qptV_4{V8i@zX2cX>ox~hv7|Y-sFeGCOBDJkK^JATy*Q6N@O)HJmtaE zlVEo>P#4|07hBgN^!nqScidU^5!;-Ge)y(MXks&Lj-J>cy>&?k9CRhYG0Z05)wtO# zm%$Je1=zvGxSp5xZF$aNIj-bLL5zwpDK8EtP|nTGE!JR+PhwoU$_E{IP;<?-*E9#0 z*|^6);qevM>eZ|3#0hv31t`ZLmMh_#QCN~;8IOQxX@>Dk6F6I!Zr-RwE`oq1A}WDL zJmL}60qqK7*6|5XctYjLOt7&iDLjvYJ??XS2u^nBrUzT^!_ls!#)Z`{A3X}@RtRYM z`QD4kEY5}ZX;Ng*)-2Vq3PB*879JYF6#VRd!oJM-T7rajv*cDD*agN6tX+S|iQRQ2 zr*Y*FI_(%_hSmldsYv2)<H8!0FY>kg%E}EpxJ!e0B?pznXp0|&@z?l1<~ct_aAfDk zV;GG@m=>^daE@#ljC1)o!h7HQ-sVLwdQo)<K}=8)OyyCl2$bLW<~M4qL9pbgf~kOD zQbeHbIw*{zj&zSKfiX#gH->1|?5wlSYIfRr^h_|iIj(o4%{m^i{{hX<fBy6Og8vC8 zoY450kt7Gt$&1{&Ok~Q*&8CyT^_E)l@X*~Xsp`Hs2DoPY>54wBr(-YEe$a>91nt8P zKdi#E!G<r+O$#qP3Lx}q?I|73l?p)u*D@RHPrp?*y%2Z>OZ-T)%Bcbw;}1OigRbbw z`EI-JR$nXZl8yv+GvJ3Fc4+l4Ivj;#vs?y4D4fW8Bs-OS^{Zc9bfzk?^2hQDErA_( z*m2PbI2fl8G|lkpz6c-`tBd4Zjbk?$tp`q{R<@H2We7TIXvXMzxr{J8aTd<}{qJ8~ zgSBmw1Z}~?{c&nz&Ze@kEJPr@?)v#77=pZeVB!z&&b#Il4T4FWA3a@FC~+i9Yw!pU zJ*V~O`7}wnT6x@Bh6IWo%?b|<V6r*3sG?z8WGzsWiAsV#_AT~i_Zf1Vmi}pY4vl;Q zzi5NsJJo3EGLfxb8XsGG$J!d~$FaN3Y8JRHbc)bQVL+5aNihzB6CfG>;fEdGJmk=a z)bIR0?|ILwttI)}Uqa*LoL?C~aMkb>!htvwSd7w=3N<mqR2wR{oGE<cQGmxky29@` zMuT4b7)DS&<2eEb-aXTr*3I**i<VhiMrh0s2E&I(f+sp`=b!ex@>sgSd+)RN;+NIj zn>LW34ek5xvu|_dRaaIXz#CWQ{rCWr?V>50chG|hNCi($?9)+&;W%z(*AL$`_o6Qi z1$3bgy?F0ZU-&b;Bk6778?XIvxW`sEy8wvs7#xB55rm`rc^(5IK!MEIo`B^i30%p~ z3FUVk=MYq?fXh8WLV#hYj`BDc9BTk9y*4e*<w|&!(CZv6=oLWFHY`Ox8_BE8FdA%+ z96jS`;DtxHx=Lt3Cma&_r!onBUEm6jfsGfsgm0Qu+m40yz#CWQqj2HbPld+5QsKCc zO~yvqX)1~?bux^`=nLQU25&nMcS(oF1$b-`4*u28Chje>(8jzs`2a{5451oxan$xI z_y~$oc%I}wLo$vMV~R5*K*Z>j=@qc@ev<s)JAx_DS+Avx`xMn%z7|}fKX9SN4^MFn zGD6EZX&}8kys(Y;Y2c27J9*F`a7)pz>w&bT;26iiz(Zt2cN_|is@nx#M}Y$i9LKiI ze+AwsKm(o!Zl$Tn-m<3Ha%@l@DR$nKoCc88_cj`$FLKPaW9aN#aDtm)#fIS^he5o0 z#<w^5Nf1Jj2&PxigrNJR>yTPeUitjg_Gv=94lGB;wCD^AWt0UofsJG8>S{f@*W2Ay zTLr$d%aQPbuC)dCcEtd669js#n^ju1GZGQ_S~ujH7T}Cvf2BA)a7YIBGYk<O{Yrre zZh%c+(T^SgUZhF7z-STt(kjscVpFckJn-O~HYp2ktz4b2pMS$gu*HMtp@Xf->&Q-* zGod3xP4Kh9w$F7zOK>=b*R%lp!RNo5d;kpNjDTR07yx5_{_~$-KVW3qyseNp62tO~ z@q$5c2AIvBGBOD~KLR)YWt_v5|6?Eb*yiGkE^c<;WA{2+n$|$z=NP({@`!eZXU5u0 z@KxnI8fND#U#UrD(UQ@mw1BVX#kZvhw#LVwUt9K*!tKoumLTHeQ*;53V^@hz1t{Ox zFq3UF1Kaxx=F+%2qiey_h6+;KE^G^*0A3$X@rNAPr5X7IW|e`NP&RA4If0R0vK!2} z^iM%j-y(uB*;yfAS<!dT|8AwXZ{{g)Miz91KNEbzQe@Db)eOUSKYK<YjE~`1H>6hn z*0;XZ%+1Z!0D)Y27>zYlmccM8EjhEDAN$zHn%BSn^>wzFfq^Bc+_kPu3Y1R|TIBlf zcfY$D{7yUW)I0%86}0N*)TdM&X6j6c2(+AIxl;@gKPG87rk1f_a?UyD%-k9UUrWpm zC|XQ{pbZx|VwWurG8drC_&K+n#L}BCQUW#oSYIb-(JdX@F-U-k^9;iW4%$paJmo1* zsd^U#$iid*doob(dK`HDa2ZZfp^*idpL@=^Rj29EsMG}=`o&My0itbMoc-t+b}xZx z?}bW{eO&tEOKadBR<~_+iWJ%<2p4ddX%~8b0DZs`Rhvb4np7fsawT?hQy$oM6Vl z%q}rjEheoe2F$nxMFJO0_t<@p>iC-a7NK$;&jmj4Ek?EW&hik>F>`-&Liyua*TDKP zDW8+nP0!fLgdqE7$D0-z1KeuM>E4>?3wYrs-K6EcMH%x-S8rIEai7JJwBY^7jPCFv zz>k~I$l2MAbMgSkdDZ>6fQIC|r@YFj<)<aD0`Rde^wKMO^+s;J<<?qhyU*4q;b92s zi5|hZzR-hrHs7VbLI~MvZSzm|eEXX5c-`bDK?sPzDWR==hE8Z|PK%SZ>;y#jDT=`e z3Z8pgLhb+TXFt1+V=y*B4O}pEL$nMWm4|1pv?jG0<gsK%5Y=Ut&wVhoFnh-ZqtK-~ z#=!;i1aae__~lI1NM}IKxxwc6x?FhF;+++4n<TIV7cwS)0o}1Zgwf7F?fI^|l-*m( zCqChULrW@M&2eC|1G-iT(zBKyy=zfwwR$$IZ0M8SqHFI5?A>g;-L`e81$`=DazeL& zC_u>HwVX!DBKp!$KnLDc2xvx6SBbCrJ~A6r3Ghc1em@-U@$bzh0CErp*(;0$r3639 zpfJMJmEg=;bT+YMT#QH}Jh1%0mESRrPSMUOBZI!mxTbtR4&YhJRKUydN3cULdeF%b z<BWKiHjzbmwsVR%OV-?8cr5$qb;)C7&aowWvG`Txg11g^6~FWmA@WEN(}EH_+zYS6 zWEDCs5%N744$00O*;O0fFgT;0;n~l7-Egrf2_AOewtW?n=bg!E6mjKw<bdDM(={E@ z2VbQh6^`JK*F0;J>K-55Yy#jQg>!yE!1JUyu~u7ZXaY;{lFzl~d|lR3&J#F-2Mj;? za<7(IK;mA4Q1C9-5nbp-gCjb+q6Lp&GA?rU>-xLE<OEMO;KB=M!pqiMTgKB}i^A)W zb-h@Nm*5;%SCL0s=7IpZpu4t03J<fU*qb9e&2{jD51;E)-m~HyR32^#uAIAe&Nc*Q z&&aaN6yD&0gB;oon>H@?B1m>iK^w#U?3}O(zc+bpO`u~Gy~(}Qrg=ul2^`=#mmC?j z{DKK1R|5&K$){{Pc`m@##AY^r+|JtBIpbg$H82(aYE8Uj+3~ux*xJE<T7-eGw%7HO zwp&$XP{!(d`JWbta%7qoAeocp_GQ<ZE^t&HN{h`lUK}VbKzO6iaq*zD2A)#Z5j?bN z0Zs$278>!VZOib}g(Eqk!R|Z)`%)ybgTs-}u{F5)2cPgv;9-C4ZCp8yLo1wg1s@!O zU_Tu4!Hd4lCII#mAf?#7#OxR&ArOKgp#0=XvpPc4)#7}95isMj{KI>{y3TbXq)d1i zpmxr2QX93E4$oq0oi5(%@B}UfDKH88y7Oo?2AZ@HJ-IpNQCYzseD9?i1C+|>Ydy{a zy8>AF1CAhKmYGu-pJVi0zz2iQb=&tmaL+msVmVAEj65F~51QBryHLi`DPw@f=8S_$ zlfYYGf9yl>+bDtFy(7%V^;-PzI^l)>z3Wbf#+Xea@-6=1+9cp*<@+=CCmdIf<Io9~ z;F>W&K0Qjdo^O@`kkfd9{IQRDY-5Wa1NQHG-}|a^)JziLI9F3Y`N^jgN4T~cuE~-w ze({U7oFy^@&9E)W0N3QmEw|oMXN1*4Z+XjGnwP))<#i(Dyz|bh2Ej1ztF&(2{2Djg zS6TXFV}~=&IHS^zrgm_iltz3pc9n_&e-jAbIqy5w_-BFJOGgb*#i4BJ<=iBbN~WtM zSa8_mk3YUvVDt>n*=L_U5ifXV6TT0lvH{o8h8k?k`bBuUlucU(a0o!wO9~E`UvYVD z)w1oSzzMDvn2HHse)N(JLHGk%ezWXObKn8xo!t%_p^-Iy1zAgg;>&HB^q${$p4dyt zGF~%gg8I>=KdLpBT2YIlohVZi+Kk<vd+t$}un2U5C8HMb)Hc>xsbST8*7#{r9d+bU zwT0y#<!b?e#W1wI;J+^tBUx3tqqeWQ^|o7Uu(o7C>$FRUARjz#y;W&Zm#!9Bc9~-A zfti+ju4g%dt)*^eTqUW6Z!#o2jSE|4AQ)I{N#}YE0-*aGQ#W;~?Eo)THic-fUoORx zq_#ZZV@sEn79QU4x_|i)m<hzyt5;Y1CtHmQOL)3$g~G*_$yrM?-TpRx{mwVb4N(b# zzyv)%Eg{`D3T!7vp8)oSFMOc}I!0`*5h3e(8AG&Q%%WD^U2hIB0LHKT<GZ^*`N>Zf zmp=%K6a}_gxjkOf#=TVMaSF4hXk;jAX>`@@(Tu?=tpNP_`W&Zo-enMsv7=XuD$6Po z2xrAbM$r#_nq|fdxZ}zQj094{B3h~Lu@kb^9c4@7!kfk(@IXG>m7sIu4L8<`kG;8% zmRaT0k0vnvvYi;bKmN&&tNnlZ%U`a3gC_X9(pTt!R|}JWsl3Q}n15BfJo)64H}?8K z+k}n;fmx12@JX&YzovTo89^$em1wcEK*3mbT?9O}msfgXL{TOf%DNWZTyugLI+&DB zDe`1&B=juj5q)UOKrtS5QP4k2Qr_f&<uBxi$1dRZ(gY8hCGb^bU3VwRh~2OeEqfK3 z7ES_4FHQZf(Fu+gkt5wZs<^9y?j81iyd)2VC^swVc|t!^ht7>&NEdb`CH6d_XIh z-uOXR32uQG{NNhIYkYQ-Uj}2qcisB3%%ub^Gm-5?U@<;QOL9K}kkLr)QJ$dT+^?Mo z)V&;2hT^5%cl47O0eHEtH<#fLI%AYM#yPt{52heNhJi~Dx?x==hAzQD&Z$_s!chZV z>B9S_#zwp>=y_Z`<k2hhHoS4+Oq*}1<<v_TUi~Dz$M*3|rtIE5baid}Y4NcMKHbkI z(8gX2Z*20DAaOc^r;N4_3TOgc#tz!bq8Mce$$bLbeuwhiS&LeWU_FZ<qwEB<Jf{Ro zPTqEqWgKt_fXkiWjd3`V0sa!)XQc;xypvs*aNBf|IeAO)z=sdGyGV;N+IE}TQqx+Q zh8J{3@90ena9Vhi@&-TIuwn8+Lzi;uM^E@=_s;o%BRx5?Gr_QHI`GP;9l;)E6ZDI& zO+EldL0W%xEm|uA8ZR(@=N(-W19jzp$wz>GHDDG1mM+A}C@;%kbYU1WrOI!T#4NGy zk}*P)AG%KzA+N!3`6LQ(&Pcj)+6s8cANV*i<M8t#By0507+M^sr6=&oh-{5_kzsz* z!tG@V9*%5$7Hkt1UEv7-^rHJjHa3nhh8G-;<M09&+h8Ng7!ol4#XivNd0>tMuU8JE zuE7=%4BgN>+jI|auDee70hgUiWanH11MjZ!uAAC59dNS=@8mmLjWGy^yyRV<m)V&& zR%$olKa_%LKgrR((@#IWj>T9`K|z*mP?%=~q_%e7QW*imJHf_o47ytz<~?CG+1%V* z{nD4+LyQ@k<q}lQ4qG~58G^imY?~Hk)k4da@XaA=c}t)G018`4L_t&pC(B<LB;G8~ z;S_$eB;~=h+su&<JF->+SN`J4T48kU;CMOdq?78be3m?<`!fp<;3l~GdYg)m{#0O> zmB}r-9haBL<ApDLVU@W}G<M%@_vVO)9Z`dV2^K+isZv^9<Rl1MvL*HF7Ir~{fTH5} z5iqMItd!sn{EIBy^N}X+)%!4#wSZkGer9!sb(?puFRjnA>vO+EhiK~mv|ou$=pF+Q zjI{ptC`()n)C+8B$zhc;4SHM8X4bb<6pQ&j^O?`oufhp%lv;yW(WSR3)Iez=3I+m> zd>lthlF=s+Ew@N1okQcDp=c4HPjKh-vnG7O!Kv5YS>ARi?*eQ6=KiekQ(h%P#^BN! ze3=kQo@tNhCl4(??}>9@_5t4{yd?PfY^a67SuNo8Ix<JI3b1S0wD~3*bSG(vvdN`N zk)2s@jRB1bt#tBacf0PkYYj@Z`(MW7OO@LhDf~5)m4Yze)e{+&Hp^u&6eVa;ge5AJ zbioA|Q~@&FBtq4VRdb(v?zuGxdTya5<I=^`rD0SYMzi~>E3c~G1m-k?%2A~@y16KX zQaF?k;&3F&;>f)%z|u~gX|kYS`8ZjQ;ZawFEI4OcqsbE)6msggY2fC#_`K%?Jg`(K zWU4$K`@yZSO8#GYR$%tK7gXr~<t^ncgR)zTmf0njTvA&#@W7wckJj891V8s3{peM< z&Hi$9-sUBF;p=y<q9t2Dm5s9LhH8xog!1$&8y*6?eLc>3Y@Ch_&9GBA1qJf+9Nwi! z;Oq9{n;&SQJKC>MU?Ky!qpz;$V0T)7aM2t8N^7?t4s>o&n#UU~W+|j`KY&Rvm=(|@ z%6Cpllwi$}*OSyz>7p|Bop;%}dB9!|s17Z7S=5^KMFJYQ8CL`+h6RRa+my{wci(+} zJW$XJd`f{|i_yf&%xNJ=O#(;YKo5h|8euf9(bWzjlfaahp(Vf@J_w$E1~@6~c7E{a zPpU1>!jEHh>=`SO3be@77%81vG_K1gV6_8C%{Rs$GDcSdDBDPjQtN13nGchpXZ`f% zz6u%+?*LoAMNVvVK22dfLwJS{pLj%%BN@6!c5Gw&RomCigEyvQ2+$Fa!n>n@50AzT z+lx)KK_ow)-E0CNWyH|Z3P`|;f?^a=A_ukz*4qq%7DEywJXgjsDaIG!=Ewl5piADs zm)B1Vk+SZKL>B1DkzuAaG7CMCGx^{>UF=z4_A3hyxk}_12Xnux6nlw%v|DVG-~dO8 ztR2xiExfkfjiRG1CpxBcHdi-8*kHb+z)bucjrm0<j(FdQjt=!@eluf!aIilWOz^jv zaL=>NW(<(vqY#3qL2yC%j8T$Dl8>P{+TuRfx)SpG1zs(%@P|-6<CxBs6EFuEo4lOs zzDmLEh@S+MF6gO&zYIV-22U4o10y<d9eKmk&)8FDnj^X3LFFLO!U6XrNq%%i7OD8A zg%{l8&>;^yvvW2%g@${#?5?5+J%f&D2p#0G5gp~a%Ovo@6<f%$7Y913&G$aoRIf4X z*LDzsN-M~H*EuFX0qXv0N^1dfgfy=i6XTMU73_B0X~*W~n{KYPi~G81Y8rWUd)oLp zK$k%WzG)KLXLZIlUNSWXh<EbygQKei7J1SGJsD4ROd#wUkBJbv4=;{wJ&wYcphG6Q z!&w>vj`yWU&4vz>-Kb}9n}CzZ2~IXV3H_t^8}%HG><j;F!*I(|(19o8`FJ)&1=k>6 z<z+8h&CSidaTEi;&d&+I9i;GrdBS<w%U)KE;<VFFs}mZ8Mlq7-8A~|!*kkLp*<3-+ zAg<Y7lOtyNEQ!%wHe-C;vB%XxbH+yDC!Tm>#b+kaBnf(|@s*0t8!F2g0O9ry@IeP3 zRF}bU#wR`TN%ad_0!VnT0+`|t7=oUq4rFG$)J!{>b(zSIk)M3>$<5r{Tpiq}uPy>0 z8EHjuBuj+A^rbNY(4<$tF{MGgktZ2E_qorls|9QcFPK_Z!`8ezE{Kmx_|303Z?&b~ zn+w-uf}c}QJ+&^wu{6Xro;+Kw1Q%KOIFuC?Caqli4WoY?`q-QX3SG?=TVNM<Bl7OH z^I-w7R+{4=`E}0I7I4l9#a?x4BEgXW)snUgs^cTY;0VWa)A@FBvA>-`RfDV_|HQ}Z z7Do(PFa*PMGi^JR%|*=;E8|+XIs3s`0z)b2U=)s_X*pyJmoZKI|5*lOmd-1J<Po}N zp@Vbb%d9Ec*-6LeA31%O4oBWvQ5+fFDj$_g9d0N*&XUN8Jit?lSwAPJ)1wMQ8b@cG zThM&uBOh69;ri>YZ?3-P>PoY*zg>3TrH%oH)?qNoHA%kqwfp_<xlcAKWwz``W&*GB zy)fioiUbdStvzkivF5h<_qe;jNna`x6+54!JASGGGAeCVob`>PGW|L~rvMJqt8~{K zli(PTmWtL9C3zO3;s65L_rL%Bx}HmbT)ldAbvDNI-(^kRZN<<D-1<7(zcYM6RbGpx z1y0lQ5_lZTJwbsJFL%P5Zn@ySO?lOe!H^NBoi%}jCjrAUn5EzmoeZ6Gb8<nJ6Lis{ z2>)b6e`KRI2nR=YZ=9q&dQ=3dILX{vP)EDLcm|%l<0iJ5)IN8w_nIDVy7{IWd<1Vc z3}58bn?G>7KGF^Uux6I+Yn`cxyP_ky(sI|3(Nb4w;g1YF@5d|rTa?xA_x5|(wGi%0 zc$@^Yf}2Dj&IKx65Qfbt<w@em#_R+vMsrzt3*b?YepI6-U%zgBbKUjV)fRzr<j2vK zrvyjkB?@rfc2Lii;Q+M@RL(b;btqWcBd0{WBN{3#rK`F{k;@>18AVabk%6D?Vq_cH zkAgAQbMc}G49(<-4|wnq8peV%AX8v~3BDs<jAO9{yd=*65R1?0p3^Ji2cBed%@D{U zyfTH^YX!lPGQCG|a<BK?wFHLcR>m3OieA`jyX<`KrTdEx`eOTLYWWa-%}PfBTli?I zkC8PzaFBKM)(?k#TbE5PwkUn)dy~P<O)XKf0Ejn2Ns6HG?!KdYF$%)0%V3JpIJc>z z7M~WAlz^#RJEeT?1*W5)lp_VLD$aXfNIg6|q9*|{bkA}GlN`vVOSru>1&_c)$8-|e z_U4`D8hi;a;A%w)BE32u23y|1k*`hPr108!bDm>p=)HD7auWQ=$xs2^^vfGKOL1(| z!Kdh}OFG*8fX^=Kut-_P*4x6M2LX7CQ%*Uh20%9eXdf4apwe3K(tddsA1|Er&C>&W zF;AhagocW0@!mq-aq%zaTQ~_Em(B?zeD&rXb{#m56s0xiD1qlUZ7LuOZS%ork+wFt z@_g}rkc{zM7HX(}&_|ZJw{TK#yNieg9@6p)&YHDfd9bCv^lgBtyhL_V;6htryS)Iv zJ}-Z^NFk5P^DV}}uPhwVQLY^qak`Ke;7@|TMN*3wI4hKSxcR$L<_-AK(Jw8^rV!R{ z{q@q#?%H40OSv4|u>0NXeLjeucD|)PN9R)0F${-ica+}G{|~S6&#L)fJ$?WH002ov JPDHLkV1h!SFb4nt literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/scss/resources/pgadmin.resources.scss b/web/pgadmin/static/scss/resources/pgadmin.resources.scss index 4b6ba733d..787f83663 100644 --- a/web/pgadmin/static/scss/resources/pgadmin.resources.scss +++ b/web/pgadmin/static/scss/resources/pgadmin.resources.scss @@ -1,5 +1,3 @@ /* All the global variables, mixins goes here */ -@import 'pgadmin.variables.scss'; @import 'default.variables.scss'; @import 'default.style.scss'; -@import 'utils.scss'; diff --git a/web/pgadmin/static/scss/resources/standard_preview.png b/web/pgadmin/static/scss/resources/standard_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..64b5eb5079d300f80bb06f8a4edc545fab0b18e3 GIT binary patch literal 33349 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%0A4U#P!oNirVJo)qlfSqk}r0*z{QUF93A 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 literal 0 HcmV?d00001 diff --git a/web/pgadmin/templates/base.html b/web/pgadmin/templates/base.html index ad9e75d5b..781a09246 100644 --- a/web/pgadmin/templates/base.html +++ b/web/pgadmin/templates/base.html @@ -20,7 +20,8 @@ <!-- Base template stylesheets --> <link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='js/generated/style.css')}}"/> - <link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='js/generated/pgadmin.css')}}"/> + <link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='js/generated/pgadmin.style.css')}}"/> + <link type="text/css" rel="stylesheet" href="{{ url_for('static', filename=('js/generated/'+get_theme_css())) }}"/> <!--View specified stylesheets--> {% block css_link %}{% endblock %} diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/index.html b/web/pgadmin/tools/datagrid/templates/datagrid/index.html index 0f12665e5..71adfec85 100644 --- a/web/pgadmin/tools/datagrid/templates/datagrid/index.html +++ b/web/pgadmin/tools/datagrid/templates/datagrid/index.html @@ -49,7 +49,7 @@ title="" accesskey="" tabindex="0" disabled> - <i class="icon-save-data-changes sql-icon-lg" aria-hidden="true"></i> + <i class="pg-font-icon icon-save-data-changes sql-icon-lg" aria-hidden="true"></i> </button> </div> <div class="btn-group mr-1" role="group" aria-label=""> @@ -324,12 +324,12 @@ title="" accesskey="" tabindex="0" disabled> - <i class="icon-commit sql-icon-lg" aria-hidden="true"></i> + <i class="pg-font-icon icon-commit sql-icon-lg" aria-hidden="true"></i> </button> <button id="btn-rollback" type="button" class="btn btn-sm btn-secondary" title="" tabindex="0" disabled> - <i class="icon-rollback sql-icon-lg" aria-hidden="true"></i> + <i class="pg-font-icon icon-rollback sql-icon-lg" aria-hidden="true"></i> </button> </div> <div class="btn-group mr-1" role="group" aria-label=""> @@ -370,7 +370,7 @@ data-panel-visible="visible" accesskey="" tabindex="0"> - <i class="fa-custom fa-query-tool-disconnected obtaining-conn" aria-hidden="true" + <i class="pg-font-icon icon-query-tool-disconnected obtaining-conn d-flex m-auto" aria-hidden="true" title=""> </i> </div> diff --git a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css index 8831d5023..62c0f2c56 100644 --- a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css +++ b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css @@ -14,30 +14,6 @@ bottom: 0; } -.sql-scratch { - width: 100%; - height: 100%; - box-sizing: border-box; - overflow-y: hidden; -} - -.sql-scratch textarea { - width: 100%; - height: 100%; - box-sizing: border-box; - border: none; - resize: none; -} - -.sql-editor-grid-container { - height: 100%; - overflow: auto; -} - -.sql-editor-grid-container.has-no-footer { - height: 100%; -} - .filter-container .CodeMirror-scroll { min-height: 120px; } @@ -274,53 +250,32 @@ input.editor-checkbox:focus { white-space: pre; } -/* CSS for connection status icon */ -.connection_status .fa-custom { - height: 18px; - width: 18px; - display: block; - background-repeat: no-repeat; - content: ''; +.connection_status { + font-size: 1rem; } -.connection_status .fa-query-tool-connected { - background-image: url('../img/connect.svg'); +.icon-query-tool-connected:before { + font-icon: url('../img/connect.svg'); } -.connection_status .fa-query-tool-disconnected { - background-image: url('../img/disconnect.svg'); -} - -.connection_status .obtaining-conn { - background-image: url('../img/loading.gif') !important; -} - -.icon-commit, .icon-rollback, .icon-save-data-changes, .icon-view-data { - display: inline-block; - align-content: center; - vertical-align: middle; - height: 18px; - width: 18px; - background-size: 22px !important; - background-repeat: no-repeat; - background-position-x: center; - background-position-y: center; +.icon-query-tool-disconnected:before { + font-icon: url('../img/disconnect.svg'); } -.icon-commit { - background-image: url('../img/commit.svg') !important; +.icon-commit:before { + font-icon: url('../img/commit.svg'); } -.icon-rollback { - background-image: url('../img/rollback.svg') !important; +.icon-rollback:before { + font-icon: url('../img/rollback.svg'); } -.icon-save-data-changes { - background-image: url('../img/save_data_changes.svg') !important; +.icon-save-data-changes:before { + font-icon: url('../img/save_data_changes.svg'); } -.icon-view-data { - background-image: url('../img/view_data.svg') !important; +.icon-view-data:before { + font-icon: url('../img/view_data.svg'); } .ajs-body .warn-header { diff --git a/web/pgadmin/tools/sqleditor/static/img/commit.svg b/web/pgadmin/tools/sqleditor/static/img/commit.svg index 7fd36e8b8..5047ac3e6 100644 --- a/web/pgadmin/tools/sqleditor/static/img/commit.svg +++ b/web/pgadmin/tools/sqleditor/static/img/commit.svg @@ -1 +1,22 @@ -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:#222222;}</style></defs><title>commit</title><path class="cls-1" d="M51.89,28.51a21.22,21.22,0,0,0-6.3-2.1,45.22,45.22,0,0,0-8.67-.78,45.12,45.12,0,0,0-8.66.78,21.22,21.22,0,0,0-6.3,2.1c-1.54.89-2.32,1.85-2.32,2.88v2.88c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V31.39Q54.2,29.85,51.89,28.51Z"/><path class="cls-1" d="M36.92,51.56a49.08,49.08,0,0,1-10-1,19.79,19.79,0,0,1-7.32-2.86v3.82c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V47.74a19.67,19.67,0,0,1-7.31,2.86A49.11,49.11,0,0,1,36.92,51.56Z"/><path class="cls-1" d="M36.92,42.92a49.08,49.08,0,0,1-10-1,19.79,19.79,0,0,1-7.32-2.86v3.82c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V39.1A19.67,19.67,0,0,1,46.89,42,49.11,49.11,0,0,1,36.92,42.92Z"/><path class="cls-1" d="M25.67,12.44a11.28,11.28,0,0,1,4.23.8,11.13,11.13,0,0,1,3.6,2.28l-3.08,3.1a1.29,1.29,0,0,0-.31,1.56,1.33,1.33,0,0,0,1.32.9H41.51a1.43,1.43,0,0,0,1-.43,1.4,1.4,0,0,0,.42-1V9.56a1.34,1.34,0,0,0-.9-1.33,1.28,1.28,0,0,0-1.55.31l-2.92,2.91a17.34,17.34,0,0,0-5.51-3.52A17,17,0,0,0,19,8.05a19.15,19.15,0,0,0-3,1.6h0c-.43.3-.85.61-1.25.94l-.4.34h0a16.91,16.91,0,0,0-4.49,6,.8.8,0,0,0,0,.53.65.65,0,0,0,.31.39L14,20a.82.82,0,0,0,.6.05.72.72,0,0,0,.42-.4,11.46,11.46,0,0,1,1.12-2.11h0l.39-.54.24-.3c.18-.22.37-.44.57-.65L17.4,16l.45-.44.09-.09c.16-.15.33-.29.5-.43l.27-.2.21-.16a11.84,11.84,0,0,1,2.29-1.28A11.12,11.12,0,0,1,25.67,12.44Z"/></svg> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 877.4 1000" style="enable-background:new 0 0 877.4 1000;" xml:space="preserve"> +<title>commit</title> +<path d="M877.4,488.3v56.9c0,20.6-15.2,39.5-45.7,56.9c-39,20.4-81.1,34.5-124.5,41.7c-56.5,10.5-113.9,15.6-171.4,15.2 + c-57.4,0.3-114.7-4.8-171.2-15.2c-43.2-7.3-85-21.3-123.7-41.7c-30.4-17.4-45.9-36.4-45.9-56.9v-56.9c0-19.8,15.4-39.5,45.9-56.9 + c39.1-20.3,81.1-34.3,124.5-41.5c56.4-10.6,113.7-15.8,171.2-15.4c57.5-0.4,114.9,4.8,171.4,15.4c43.4,7.2,85.4,21.2,124.5,41.5 + C862.4,449,877.4,468,877.4,488.3z M535.7,887c-66.4,0.2-132.6-6.4-197.7-19.8c-51.5-9-100.7-28.2-144.7-56.5v75.5 + c0,19.8,15.4,39.5,45.9,56.9c39,20.4,81.1,34.5,124.5,41.7c56.4,10.5,113.8,15.6,171.2,15.2c57.5,0.3,114.9-4.7,171.4-15.2 + c43.5-7.2,85.5-21.3,124.5-41.7c30.4-17.4,45.7-36.4,45.7-56.9v-74.7c-43.9,28.4-93,47.6-144.5,56.5 + C667.5,881,601.6,887.4,535.7,887z M535.7,716.3c-66.4,0.2-132.6-6.4-197.7-19.8c-51.5-9-100.7-28.2-144.7-56.5v75.5 + c0,19.8,15.4,39.5,45.9,56.9c39,20.4,81.1,34.5,124.5,41.7c56.4,10.5,113.8,15.6,171.2,15.2c57.5,0.3,114.9-4.7,171.4-15.2 + c43.5-7.2,85.5-21.3,124.5-41.7c30.4-17.4,45.7-36.4,45.7-56.9v-74.7c-43.6,28.5-92.4,48-143.7,57.3 + C668,710.8,601.9,716.9,535.7,716.3z M313.4,113.7c28.6-0.1,57,5.2,83.6,15.8c26.4,10.3,50.6,25.6,71.2,45.1l-60.9,61.3 + c-8.9,7.6-11.4,20.4-6.1,30.8c3.8,11.1,14.4,18.3,26.1,17.8h199.2c7.5-0.1,14.6-3.2,19.8-8.5c5.3-5.2,8.3-12.3,8.3-19.8V56.8 + c0.6-11.7-6.7-22.4-17.8-26.3c-10.4-5.3-23.1-2.7-30.6,6.1l-57.7,57.5C516.9,64.2,480,40.6,439.6,24.5C356.6-9,263.8-8.1,181.5,26.9 + c-20.7,8.8-40.5,19.3-59.3,31.6l0,0c-8.5,5.9-16.8,12.1-24.7,18.6l-7.9,6.7l0,0c-38.1,32.4-68.4,72.9-88.7,118.6 + c-1.2,3.4-1.2,7.1,0,10.5c0.9,3.3,3.1,6.1,6.1,7.7l75.7,42.5c3.7,1.8,7.9,2.2,11.9,1c3.8-1.4,6.8-4.2,8.3-7.9 + c5.9-14.6,13.3-28.6,22.1-41.7l0,0l7.7-10.7l4.7-5.9c3.6-4.3,7.3-8.7,11.3-12.8l1.2-1l8.9-8.7l1.8-1.8c3.2-3,6.5-5.7,9.9-8.5l5.3-4 + l4.2-3.2c14.1-10.1,29.3-18.6,45.3-25.3C253,120.3,283,113.9,313.4,113.7z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/connect.svg b/web/pgadmin/tools/sqleditor/static/img/connect.svg index 9170fc9b5..c311f2868 100644 --- a/web/pgadmin/tools/sqleditor/static/img/connect.svg +++ b/web/pgadmin/tools/sqleditor/static/img/connect.svg @@ -1 +1,23 @@ -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#2c76b4;}</style></defs><title>connect</title><path class="cls-1" d="M21.27,4.25c.12-.12.12-.18,0-.29-.32-.3-.63-.61-.92-.93-.12-.13-.19-.13-.31,0-.69.71-1.4,1.4-2.1,2.11L17.7,4.9a4.22,4.22,0,0,0-5.26-.82,9.75,9.75,0,0,0-1.69,1.46l-.58.55c-.18-.18-.36-.35-.53-.53s-.14-.1-.23,0c-.31.33-.63.65-1,1-.12.12-.13.18,0,.3.69.67,1.36,1.37,2.05,2,.15.14.13.21,0,.34l-2.05,2c-.12.12-.12.18,0,.29.32.3.63.61.92.93.12.13.19.13.31,0l2-2.05c.12-.13.19-.15.33,0,.61.63,1.24,1.25,1.87,1.87.13.12.12.19,0,.31l-2.07,2.06c-.11.11-.13.17,0,.29q.47.44.91.91c.13.14.2.16.35,0,.67-.69,1.36-1.36,2-2.05.12-.13.19-.12.31,0l2.08,2.09c.09.1.15.12.25,0,.32-.34.66-.67,1-1,.1-.1.07-.15,0-.23l-.61-.6c.48-.45,1-.86,1.41-1.32a4.13,4.13,0,0,0,1.2-3.67,4,4,0,0,0-1.42-2.55c-.14-.12-.14-.19,0-.32C20,5.56,20.61,4.9,21.27,4.25Zm-3.05,7.41c-.43.39-.81.83-1.2,1.23L11.37,7.25l1.42-1.34a2.52,2.52,0,0,1,3.48-.06C17,6.55,17.74,7.27,18.43,8A2.51,2.51,0,0,1,18.22,11.67Z"/><path class="cls-1" d="M15.52,17.16c-2-1.95-8-8-9-9C6.4,8,6.34,8,6.22,8.14c-.3.32-.62.64-.94.94-.11.11-.14.17,0,.28s.35.33.6.57c-.49.45-1,.88-1.42,1.34a4.16,4.16,0,0,0-1.12,4,4.37,4.37,0,0,0,1.33,2.22c.13.13.13.2,0,.33-.65.63-1.28,1.28-1.93,1.91-.13.13-.12.19,0,.31.32.3.62.61.92.92.11.12.18.12.29,0,.53-.55,1.07-1.08,1.62-1.62.15-.15.29-.42.47-.41s.31.25.47.39a4.21,4.21,0,0,0,5.81,0c.5-.47.94-1,1.43-1.53.25.26.43.44.6.63s.14.11.24,0c.3-.32.61-.63.93-.92C15.67,17.38,15.68,17.31,15.52,17.16Zm-3-.38c-.43.43-.84.87-1.27,1.29a2.53,2.53,0,0,1-3.74-.17c-.53-.57-1.1-1.11-1.66-1.64a2.58,2.58,0,0,1,0-3.93c.41-.41.79-.84,1.19-1.27l5.52,5.52C12.57,16.66,12.58,16.7,12.49,16.78Z"/></svg> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 1033.2 1000" style="enable-background:new 0 0 1033.2 1000;" xml:space="preserve"> +<title>connect</title> +<path d="M1029.1,70.6c5.5-5.5,5.5-11.1,0-16.6c-16.6-11.1-38.8-33.2-55.4-49.9c-5.5-5.5-11.1-5.5-16.6,0 + c-38.8,38.8-77.6,77.6-116.3,116.3l-11.1-11.1C757.6,26.3,635.7,9.7,536,65.1c-33.2,22.2-66.5,49.9-94.2,83.1l-33.2,27.7 + c-5.5-11.1-16.6-22.2-27.7-27.7c-11.1-11.1-5.5-5.5-11.1,0c-16.6,16.6-33.2,33.2-55.4,55.4c-5.5,5.5-5.5,11.1,0,16.6 + C353.2,259,392,297.8,430.7,331c5.5,5.5,5.5,11.1,0,16.6l-83.1,77.6c-66.5-60.9-116.3-116.3-138.5-133c-5.5-11.1-11.1-11.1-16.6-5.5 + c-16.6,22.2-33.2,38.8-49.9,55.4c-5.5,5.5-5.5,11.1,0,16.6s16.6,16.6,33.2,33.2c-27.7,27.7-55.4,49.9-77.6,72 + c-60.9,55.4-83.1,144-60.9,221.6c11.1,49.9,38.8,88.6,72,121.9c5.5,5.5,5.5,11.1,0,16.6c-33.2,33.2-72,72-105.3,105.3 + c-5.5,5.5-5.5,11.1,0,16.6c16.6,16.6,33.2,33.2,49.9,49.9c5.5,5.5,11.1,5.5,16.6,0c27.7-27.7,60.9-60.9,88.6-88.6 + c5.5-5.5,16.6-22.2,27.7-22.2s16.6,11.1,27.7,22.2c88.6,88.6,232.7,88.6,321.3,0c27.7-27.7,49.9-55.4,77.6-83.1 + c11.1,16.6,22.2,22.2,33.2,33.2c11.1,11.1,5.5,5.5,11.1,0c16.6-16.6,33.2-33.2,49.9-49.9c5.5-5.5,11.1-11.1,0-16.6 + c-27.7-27.7-66.5-60.9-105.3-105.3c27.7-27.7,55.4-55.4,77.6-83.1c5.5-5.5,11.1-5.5,16.6,0L813,718.8c5.5,5.5,11.1,5.5,11.1,0 + c16.6-16.6,38.8-38.8,55.4-55.4c5.5-5.5,5.5-5.5,0-11.1l-27.7-38.8c27.7-22.2,55.4-49.9,77.6-72c55.4-49.9,77.6-127.4,66.5-205 + c-5.5-55.4-33.2-105.3-77.6-138.5c-5.5-5.5-5.5-11.1,0-16.6C957.1,148.2,990.3,109.4,1029.1,70.6z M541.6,768.7 + c-22.2,22.2-44.3,49.9-72,72c-55.4,55.4-144,55.4-199.4,0c-33.2-27.8-48.6-44.9-99.7-99.7c-57.2-53.5-66.5-144-16.6-199.4 + c5.5-5.5,11.1-11.1,16.6-16.6c22.2-22.2,44.3-44.3,66.5-72l304.7,304.7C547.1,763.2,547.1,763.2,541.6,768.7L541.6,768.7z + M613.6,530.5L536,613.6c-38.8-38.8-83.1-83.1-121.9-121.9l77.6-83.1c5.5-5.5,11.1-11.1,16.6,0c33.2,33.2,66.5,66.5,105.3,105.3 + C624.7,524.9,624.7,524.9,613.6,530.5z M868.4,475.1l-5.5,5.5l0,0c-22.2,22.2-44.3,44.3-66.5,66.5L480.6,236.8l77.6-72 + c55.4-49.9,138.5-55.4,193.9-5.5c38.8,38.8,77.6,83.1,116.3,121.9C923.8,336.6,923.8,425.2,868.4,475.1z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/disconnect.svg b/web/pgadmin/tools/sqleditor/static/img/disconnect.svg index 113b7588d..1fe248042 100644 --- a/web/pgadmin/tools/sqleditor/static/img/disconnect.svg +++ b/web/pgadmin/tools/sqleditor/static/img/disconnect.svg @@ -1 +1,24 @@ -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#d0021b;}</style></defs><title>disconnect</title><path class="cls-1" d="M22.49,2.73c.12-.11.12-.18,0-.29-.31-.3-.62-.6-.91-.91-.12-.13-.18-.13-.31,0-.68.69-1.37,1.38-2.07,2.07L19,3.36a4.15,4.15,0,0,0-5.18-.81A9.59,9.59,0,0,0,12.14,4l-.57.54c-.18-.17-.36-.34-.53-.52s-.13-.09-.22,0c-.31.32-.62.64-.95.94-.12.11-.13.18,0,.3.68.66,1.34,1.34,2,2,.14.14.12.21,0,.34l-2,2c-.12.11-.12.18,0,.29.31.29.62.6.91.91.12.13.18.12.3,0l2-2c.12-.13.19-.15.32,0,.6.62,1.22,1.23,1.84,1.84.12.12.12.18,0,.3l-2,2c-.11.11-.13.17,0,.29q.46.43.89.89c.13.13.2.15.34,0,.66-.68,1.34-1.34,2-2,.12-.13.18-.12.3,0l2,2.05c.09.09.14.11.24,0,.32-.33.65-.66,1-1,.1-.09.07-.14,0-.22l-.6-.59c.47-.44.95-.85,1.38-1.3A4.06,4.06,0,0,0,22,7.47,4,4,0,0,0,20.56,5c-.14-.12-.14-.18,0-.31C21.2,4,21.84,3.36,22.49,2.73Zm-3,7.29c-.42.38-.8.81-1.18,1.21L12.75,5.68l1.39-1.32a2.48,2.48,0,0,1,3.42-.06C18.3,5,19,5.7,19.69,6.44A2.47,2.47,0,0,1,19.48,10Z"/><path class="cls-1" d="M14.1,18.75c-1.93-1.92-7.84-7.83-8.87-8.87-.11-.11-.16-.13-.28,0-.3.32-.61.63-.93.93-.11.1-.14.17,0,.28s.35.33.59.56c-.48.45-1,.86-1.4,1.32a4.09,4.09,0,0,0-1.1,3.93,4.3,4.3,0,0,0,1.31,2.19c.13.13.13.2,0,.33-.64.62-1.26,1.26-1.9,1.88-.13.12-.12.19,0,.3.31.29.61.6.91.91.11.12.17.12.29,0,.52-.54,1.06-1.07,1.59-1.59.15-.15.28-.41.46-.41s.31.24.46.38a4.14,4.14,0,0,0,5.72,0c.5-.46.92-1,1.4-1.51.25.26.42.43.59.62s.14.11.24,0c.3-.31.6-.62.91-.91C14.24,19,14.25,18.9,14.1,18.75Zm-3-.37c-.42.42-.82.86-1.25,1.27a2.49,2.49,0,0,1-3.68-.17c-.52-.56-1.08-1.09-1.64-1.62a2.54,2.54,0,0,1,0-3.87c.4-.4.78-.83,1.17-1.25l5.43,5.43C11.2,18.25,11.21,18.29,11.12,18.38Z"/></svg> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 995.3 1000" style="enable-background:new 0 0 995.3 1000;" xml:space="preserve"> +<title>disconnect</title> +<path d="M991.7,60.3c4.7-4.7,4.7-9.5,0-14.2c-14.2-14.2-28.4-28.4-42.6-42.6c-4.7-4.7-9.5-4.7-14.2,0 + c-33.1,33.1-66.2,66.2-99.3,99.3l-9.5-9.5C764.8,22.5,660.8,8.3,580.4,55.6C552,74.5,523.6,98.1,500,121.7l-28.4,23.6 + c-4.7-4.7-14.2-14.2-23.6-23.6c-9.5-9.5-4.7-4.7-9.5,0c-14.2,14.2-28.4,28.4-47.3,42.6c-4.7,4.7-4.7,9.5,0,14.2 + c33.1,33.1,61.5,61.5,94.6,94.6c4.7,4.7,4.7,9.5,0,14.2l-94.6,94.6c-4.7,4.7-4.7,9.5,0,14.2c14.2,14.2,28.4,28.4,42.6,42.6 + c4.7,4.7,9.5,4.7,14.2,0l94.6-94.6c4.7-4.7,9.5-9.5,14.2,0c28.4,28.4,56.7,56.7,85.1,85.1c4.7,4.7,4.7,9.5,0,14.2l-94.6,94.6 + c-4.7,4.7-4.7,9.5,0,14.2c14.2,14.2,28.4,28.4,42.6,42.6c4.7,4.7,9.5,4.7,14.2,0c33.1-33.1,61.5-61.5,94.6-94.6 + c4.7-4.7,9.5-4.7,14.2,0l94.6,94.6c4.7,4.7,4.7,4.7,9.5,0c14.2-14.2,28.4-33.1,47.3-47.3c4.7-4.7,4.7-4.7,0-9.5l-28.4-28.4 + c23.6-18.9,47.3-37.8,66.2-61.5c47.3-42.6,66.2-108.7,56.7-170.2c-9.5-47.3-33.1-89.8-66.2-118.2c-4.7-4.7-4.7-9.5,0-14.2 + C930.3,121.7,958.6,93.4,991.7,60.3z M854.6,400.7C849.9,405.4,849.9,405.4,854.6,400.7L854.6,400.7c-23.6,23.6-42.6,42.6-56.7,61.5 + l-264.8-260l66.2-61.5c42.6-42.6,113.5-47.3,160.8-4.7c33.1,33.1,66.2,66.2,99.3,99.3C901.9,282.5,901.9,358.2,854.6,400.7z + M173.8,400.7c-4.7-4.7-4.7-4.7-9.5,0c-14.2,14.2-28.4,28.4-42.6,42.6c-4.7,4.7-4.7,9.5,0,14.2s14.2,14.2,28.4,28.4 + c-23.6,23.6-47.3,42.6-66.2,61.5c-47.3,47.3-70.9,118.2-52,184.4c9.5,37.8,33.1,75.7,61.5,104c4.7,4.7,4.7,9.5,0,14.2 + C65,878.3,31.9,911.3,3.5,939.7c-4.7,4.7-4.7,9.5,0,14.2c14.2,14.2,28.4,28.4,42.6,42.6c4.7,4.7,9.5,4.7,14.2,0 + c23.6-23.6,52-52,75.7-75.7c9.5-9.5,14.2-18.9,23.6-18.9c9.5,0,14.2,9.5,23.6,18.9c75.7,70.9,193.9,70.9,269.5,0 + c23.6-23.6,42.6-47.3,66.2-70.9c9.5,14.2,18.9,18.9,28.4,28.4c9.5,9.5,4.7,4.7,9.5,0c14.2-14.2,28.4-28.4,42.6-42.6 + c4.7-4.7,9.5-9.5,0-14.2C504.7,727,225.8,448,173.8,400.7z M452.7,802.6L452.7,802.6c-18.9,18.9-37.8,42.6-61.5,61.5 + c-47.3,47.3-118.2,47.3-165.5,0c-4.7-4.7-4.7-4.7-9.5-9.5c-23.6-28.4-52-52-75.7-75.7c-52-42.6-56.7-118.2-14.2-170.2 + c4.7-4.7,9.5-9.5,14.2-14.2c18.9-18.9,37.8-37.8,56.7-56.7l255.3,255.3C457.4,793.1,457.4,797.9,452.7,802.6z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/rollback.svg b/web/pgadmin/tools/sqleditor/static/img/rollback.svg index 89713cdf4..c0566447f 100644 --- a/web/pgadmin/tools/sqleditor/static/img/rollback.svg +++ b/web/pgadmin/tools/sqleditor/static/img/rollback.svg @@ -1 +1,22 @@ -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:#222222;}</style></defs><title>rollback</title><path class="cls-1" d="M53.89,28.51a21.22,21.22,0,0,0-6.3-2.1,45.22,45.22,0,0,0-8.67-.78,45.12,45.12,0,0,0-8.66.78,21.22,21.22,0,0,0-6.3,2.1c-1.54.89-2.32,1.85-2.32,2.88v2.88c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V31.39Q56.2,29.85,53.89,28.51Z"/><path class="cls-1" d="M38.92,51.56a49.08,49.08,0,0,1-10-1,19.79,19.79,0,0,1-7.32-2.86v3.82c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V47.74a19.67,19.67,0,0,1-7.31,2.86A49.11,49.11,0,0,1,38.92,51.56Z"/><path class="cls-1" d="M38.92,42.92a49.08,49.08,0,0,1-10-1,19.79,19.79,0,0,1-7.32-2.86v3.82c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V39.1A19.67,19.67,0,0,1,48.89,42,49.11,49.11,0,0,1,38.92,42.92Z"/><path class="cls-1" d="M25.08,12.44a11.28,11.28,0,0,0-4.23.8,11.13,11.13,0,0,0-3.6,2.28l3.08,3.1a1.29,1.29,0,0,1,.31,1.56,1.33,1.33,0,0,1-1.32.9H9.24a1.43,1.43,0,0,1-1-.43,1.4,1.4,0,0,1-.42-1V9.56a1.34,1.34,0,0,1,.9-1.33,1.28,1.28,0,0,1,1.55.31l2.92,2.91a17.34,17.34,0,0,1,5.51-3.52,17,17,0,0,1,13.1.12,19.15,19.15,0,0,1,3,1.6h0c.43.3.85.61,1.25.94l.4.34h0a16.91,16.91,0,0,1,4.49,6,.8.8,0,0,1,0,.53.65.65,0,0,1-.31.39L36.8,20a.82.82,0,0,1-.6.05.72.72,0,0,1-.42-.4,11.46,11.46,0,0,0-1.12-2.11h0q-.19-.28-.39-.54l-.24-.3c-.18-.22-.37-.44-.57-.65L33.35,16l-.45-.44-.09-.09c-.16-.15-.33-.29-.5-.43l-.27-.2-.21-.16a11.84,11.84,0,0,0-2.29-1.28A11.12,11.12,0,0,0,25.08,12.44Z"/></svg> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 956.7 1000" style="enable-background:new 0 0 956.7 1000;" xml:space="preserve"> +<title>rollback</title> +<path d="M956.7,488.3v56.9c0,20.6-15.2,39.5-45.7,56.9c-39,20.4-81.1,34.5-124.5,41.7C730,654.3,672.6,659.4,615.1,659 + c-57.4,0.3-114.7-4.8-171.2-15.2c-43.2-7.3-85-21.3-123.7-41.7c-30.4-17.4-45.9-36.4-45.9-56.9v-56.9c0-19.8,15.4-39.5,45.9-56.9 + c39.1-20.3,81.1-34.3,124.5-41.5c56.4-10.6,113.7-15.8,171.2-15.4c57.5-0.4,114.9,4.8,171.4,15.4c43.4,7.2,85.4,21.2,124.5,41.5 + C941.7,449,956.7,468,956.7,488.3z M615.1,886.9c-66.4,0.2-132.6-6.4-197.7-19.8c-51.5-9-100.7-28.2-144.7-56.5v75.5 + c0,19.8,15.4,39.5,45.9,56.9c39,20.4,81.1,34.5,124.5,41.7c56.4,10.5,113.8,15.6,171.2,15.2c57.5,0.3,114.9-4.7,171.4-15.2 + c43.5-7.2,85.5-21.3,124.5-41.7c30.4-17.4,45.7-36.4,45.7-56.9v-74.7c-43.9,28.4-93,47.6-144.5,56.5 + C746.8,880.9,681,887.3,615.1,886.9z M615.1,716.2c-66.4,0.2-132.6-6.4-197.7-19.8c-51.5-9-100.7-28.2-144.7-56.5v75.5 + c0,19.8,15.4,39.5,45.9,56.9c39,20.4,81.1,34.5,124.5,41.7c56.4,10.5,113.8,15.6,171.2,15.2c57.5,0.3,114.9-4.7,171.4-15.2 + c43.5-7.2,85.5-21.3,124.5-41.7c30.4-17.4,45.7-36.4,45.7-56.9v-74.7c-43.6,28.5-92.4,48-143.7,57.3 + C747.3,710.7,681.3,716.8,615.1,716.2z M429.7,131.7c16,6.7,31.2,15.2,45.3,25.3l4.2,3.2l5.3,4c3.4,2.8,6.7,5.5,9.9,8.5l1.8,1.8 + l8.9,8.7l2.2,2.4c4,4.2,7.7,8.5,11.3,12.8l4.7,5.9c2.5,3.4,5.1,7,7.7,10.7l0,0c8.8,13.1,16.2,27.1,22.1,41.7 + c1.5,3.7,4.5,6.6,8.3,7.9c3.9,1.2,8.2,0.8,11.9-1l75.1-42.7c3-1.7,5.2-4.4,6.1-7.7c1.2-3.4,1.2-7.1,0-10.5 + c-20.3-45.7-50.7-86.2-88.7-118.6l0,0l-7.9-6.7c-7.9-6.5-16.2-12.6-24.7-18.6l0,0c-18.8-12.3-38.6-22.9-59.3-31.6 + C391.3-8.2,298-9.1,214.9,24.8C174.5,40.8,137.5,64.5,106,94.3L48.5,36.6c-7.6-8.9-20.2-11.4-30.6-6.1C6.7,34.3-0.5,45.1,0,56.8V256 + c0,7.4,3,14.6,8.3,19.8c5.2,5.3,12.3,8.4,19.8,8.5h199.6c11.7,0.5,22.3-6.7,26.1-17.8c5.3-10.5,2.8-23.2-6.1-30.8l-60.9-61.3 + c20.6-19.5,44.8-34.8,71.2-45.1c26.6-10.6,55-16,83.6-15.8C371.9,113.4,401.9,119.6,429.7,131.7z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/save_data_changes.svg b/web/pgadmin/tools/sqleditor/static/img/save_data_changes.svg index 09ead9286..1b1140237 100644 --- a/web/pgadmin/tools/sqleditor/static/img/save_data_changes.svg +++ b/web/pgadmin/tools/sqleditor/static/img/save_data_changes.svg @@ -1,12 +1,32 @@ -<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 1792 1792;" xml:space="preserve" width="1792" height="1792"><rect id="backgroundrect" width="100%" height="100%" x="0" y="0" fill="none" stroke="none"/> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 1181.8 1000" style="enable-background:new 0 0 1181.8 1000;" xml:space="preserve"> <style type="text/css"> .st0{fill:#222222;} - .st1{fill:#FFFFFF;} </style> <title>save_data_changes</title> - - -<g class="currentLayer" style=""><title>Layer 1</title><path class="st0 selected" d="M614.0211181640625,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,1389.2831683158875 614.0211181640625,1381.039882183075 zM614.0211181640625,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,1048.918300151825 614.0211181640625,1040.6748919487 zM1069.7584228515625,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,1389.2831683158875 1069.7584228515625,1381.039882183075 zM614.0211181640625,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,708.5541033744812 614.0211181640625,700.3109393119812 zM1069.7584228515625,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,1048.918300151825 1069.7584228515625,1040.6748919487 zM1525.49560546875,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,1389.2831683158875 1525.49560546875,1381.039882183075 zM1069.7584228515625,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,708.5541033744812 1069.7584228515625,700.3109393119812 zM1525.49560546875,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,1048.918300151825 1525.49560546875,1040.6748919487 zM1525.49560546875,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,708.5541033744812 1525.49560546875,700.3109393119812 zM1639.4296875,416.6754412651062 v964.3636474609375 c0,39 -13.974724769592285,72.41590881347656 -41.835166931152344,100.15908813476562 s-61.41758346557617,41.65909194946289 -100.5824203491211,41.65909194946289 H300.70343017578125 c-39.16483688354492,0 -72.72197723388672,-13.915908813476562 -100.5824203491211,-41.65909194946289 s-41.835166931152344,-61.15909194946289 -41.835166931152344,-100.15908813476562 V416.6754412651062 c0,-39 13.974724769592285,-72.41590881347656 41.835166931152344,-100.15908813476562 s61.41758346557617,-41.65909194946289 100.5824203491211,-41.65909194946289 h1196.3077392578125 c39.16483688354492,0 72.72197723388672,13.915908813476562 100.5824203491211,41.65909194946289 S1639.4296875,377.6754412651062 1639.4296875,416.6754412651062 z" id="svg_1"/><g id="svg_2" class="selected"> - <path class="st0" d="M898.8562622070312,1342.7491106987 c-22.69780158996582,0 -43.081321716308594,-8.331817626953125 -58.92527389526367,-24.19772720336914 l-289.4637451171875,-288.6886291503906 c-16.378021240234375,-15.51136302947998 -25.012088775634766,-35.897727966308594 -25.012088775634766,-58.943180084228516 c0,-22.868181228637695 8.278021812438965,-42.72272872924805 24.656044006347656,-59.03181457519531 l32.84505844116211,-33.150001525878906 c0.17802198231220245,-0.1772727221250534 0.44505494832992554,-0.4431818127632141 0.6230769157409668,-0.6204545497894287 c16.46703338623047,-15.51136302947998 36.761539459228516,-23.665908813476562 58.83626174926758,-23.665908813476562 c22.69780158996582,0 43.081321716308594,8.331817626953125 58.92527389526367,24.19772720336914 l85.27252960205078,84.91363525390625 V715.5564227104187 c0,-22.247726440429688 8.545055389404297,-42.54545593261719 24.745054244995117,-58.677268981933594 s36.58351516723633,-24.640907287597656 58.92527389526367,-24.640907287597656 h56.96703338623047 c22.341758728027344,0 42.72527313232422,8.5090913772583 58.92527389526367,24.640907287597656 s24.745054244995117,36.429542541503906 24.745054244995117,58.677268981933594 v247.8272705078125 l85.27252960205078,-84.91363525390625 c15.932967185974121,-15.8659086227417 36.227474212646484,-24.19772720336914 58.92527389526367,-24.19772720336914 c22.074724197387695,0 42.45824432373047,8.154544830322266 58.83626174926758,23.665908813476562 c0.17802198231220245,0.1772727221250534 0.3560439646244049,0.3545454442501068 0.5340659618377686,0.5318182110786438 l33.379119873046875,33.2386360168457 c0.17802198231220245,0.1772727221250534 0.3560439646244049,0.3545454442501068 0.5340659618377686,0.5318182110786438 c15.576923370361328,16.397727966308594 23.765933990478516,36.606815338134766 23.765933990478516,58.5886344909668 c0,22.602272033691406 -8.367033004760742,42.900001525878906 -24.299999237060547,58.677268981933594 l-289.73077392578125,288.95452880859375 c-0.17802198231220245,0.1772727221250534 -0.3560439646244049,0.3545454442501068 -0.5340659618377686,0.5318182110786438 C941.3145141601562,1334.5058245658875 920.9309692382812,1342.7491106987 898.8562622070312,1342.7491106987 z" id="svg_3"/> - <path class="st1" d="M927.3397827148438,658.8291277885437 c15.398900985717773,0 28.75054931640625,5.5840911865234375 40.05494689941406,16.84090805053711 s16.91208839416504,24.55227279663086 16.91208839416504,39.8863639831543 v312 l130.84616088867188,-130.2954559326172 c10.948351860046387,-10.902273178100586 24.299999237060547,-16.397727966308594 40.05494689941406,-16.397727966308594 c15.398900985717773,0 28.928571701049805,5.49545431137085 40.5,16.397727966308594 l33.379119873046875,33.2386360168457 c10.948351860046387,11.522727012634277 16.46703338623047,24.995454788208008 16.46703338623047,40.32954406738281 c0,15.688636779785156 -5.518681049346924,28.98409080505371 -16.46703338623047,39.8863639831543 l-289.73077392578125,288.95452880859375 c-11.571428298950195,10.902273178100586 -25.101099014282227,16.397727966308594 -40.5,16.397727966308594 c-15.754945755004883,0 -29.10659408569336,-5.49545431137085 -40.05494689941406,-16.397727966308594 l-289.73077392578125,-288.95452880859375 c-11.30439567565918,-10.636363983154297 -16.91208839416504,-23.93181800842285 -16.91208839416504,-39.8863639831543 c0,-15.688636779785156 5.607692718505859,-29.072725296020508 16.91208839416504,-40.32954406738281 l32.93406677246094,-33.2386360168457 c11.571428298950195,-10.902273178100586 25.101099014282227,-16.397727966308594 40.5,-16.397727966308594 c15.754945755004883,0 29.10659408569336,5.49545431137085 40.05494689941406,16.397727966308594 l130.84616088867188,130.2954559326172 v-312 c0,-15.334090232849121 5.607692718505859,-28.629545211791992 16.91208839416504,-39.8863639831543 s24.656044006347656,-16.84090805053711 40.05494689941406,-16.84090805053711 L927.3397827148438,658.8291277885437 M927.3397827148438,605.647304058075 h-56.96703338623047 c-29.64065933227539,0 -56.52198028564453,11.168182373046875 -77.79560852050781,32.4409065246582 c-21.36263656616211,21.272727966308594 -32.57802200317383,48.04090881347656 -32.57802200317383,77.46818542480469 v183.56591796875 l-39.69889831542969,-39.53181457519531 c-21.006593704223633,-20.918182373046875 -47.88791275024414,-31.997726440429688 -77.79560852050781,-31.997726440429688 c-29.017581939697266,0 -55.72087860107422,10.725000381469727 -77.17252349853516,30.934091567993164 c-0.44505494832992554,0.4431818127632141 -0.8901098966598511,0.8863636255264282 -1.3351647853851318,1.2409090995788574 l-32.84505844116211,33.150001525878906 c-21.184614181518555,21.18408966064453 -32.400001525878906,48.04090881347656 -32.400001525878906,77.8227310180664 c0,30.402271270751953 11.393406867980957,57.259090423583984 33.023075103759766,77.91136169433594 l289.28570556640625,288.5113525390625 c21.006593704223633,20.918182373046875 47.976924896240234,31.997726440429688 77.88461303710938,31.997726440429688 c29.017581939697266,0 55.72087860107422,-10.725000381469727 77.17252349853516,-30.934091567993164 c0.3560439646244049,-0.3545454442501068 0.7120879292488098,-0.7090908885002136 1.068131923675537,-1.0636364221572876 l289.73077392578125,-288.95452880859375 c21.006593704223633,-20.918182373046875 32.0439567565918,-47.686363220214844 32.0439567565918,-77.46818542480469 c0,-28.89545249938965 -10.770330429077148,-55.48636245727539 -31.064836502075195,-76.84772491455078 c-0.3560439646244049,-0.3545454442501068 -0.7120879292488098,-0.7090908885002136 -1.068131923675537,-1.0636364221572876 l-33.379119873046875,-33.2386360168457 c-0.3560439646244049,-0.3545454442501068 -0.7120879292488098,-0.7090908885002136 -1.068131923675537,-1.0636364221572876 c-21.451648712158203,-20.209089279174805 -48.154945373535156,-30.934091567993164 -77.17252349853516,-30.934091567993164 c-29.907691955566406,0 -56.78900909423828,11.079545021057129 -77.79560852050781,31.997726440429688 l-39.69889831542969,39.53181457519531 V715.5564227104187 c0,-29.515907287597656 -11.215385437011719,-56.28409194946289 -32.57802200317383,-77.46818542480469 C983.8617553710938,616.904139995575 956.98046875,605.647304058075 927.3397827148438,605.647304058075 L927.3397827148438,605.647304058075 z" id="svg_4"/> -</g></g></svg> \ No newline at end of file +<path class="st0" d="M869.8,510.7c12.4,13.1,19,29.3,19,46.9c0,18.1-6.7,34.4-19.4,47L638.2,836.2c-0.1,0.1-0.3,0.3-0.4,0.4 + c-13,12.4-29.3,19-46.9,19c-18.1,0-34.4-6.7-47-19.4L312.9,605c-13.1-12.4-20-28.8-20-47.2c0-18.3,6.6-34.2,19.7-47.3l26.2-26.6 + c0.1-0.1,0.4-0.4,0.5-0.5c13.1-12.4,29.3-19,46.9-19c18.1,0,34.4,6.7,47,19.4l68,68V353.1c0-17.8,6.8-34.1,19.7-47 + c12.9-12.9,29.2-19.7,47-19.7h45.5c17.8,0,34.1,6.8,47,19.7c12.9,12.9,19.7,29.2,19.7,47v198.6l68-68c12.7-12.7,28.9-19.4,47-19.4 + c17.6,0,33.9,6.5,46.9,19c0.1,0.1,0.3,0.3,0.4,0.4l26.6,26.6C869.5,510.4,869.7,510.6,869.8,510.7z M1181.8,113.6v772.7 + c0,31.2-11.2,58-33.4,80.3c-22.2,22.2-49,33.4-80.3,33.4H113.6c-31.2,0-58-11.2-80.3-33.4S0,917.6,0,886.4V113.6 + c0-31.2,11.2-58,33.4-80.3S82.4,0,113.6,0h954.5c31.2,0,58,11.2,80.3,33.4C1170.7,55.6,1181.8,82.4,1181.8,113.6z M90.9,340.9 + c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h227.3c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V204.5 + c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H113.6c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3V340.9z M363.6,750 + c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H113.6c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3v136.4 + c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h227.3c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V750z M1090.9,750 + c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H840.9c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3v136.4 + c0,6.6,2.1,12.1,6.4,16.3s9.7,6.4,16.3,6.4h227.3c6.6,0,12.1-2.1,16.3-6.4s6.4-9.7,6.4-16.3V750z M1090.9,477.3 + c0-6.6-2.1-12.1-6.4-16.3s-9.7-6.4-16.3-6.4H840.9c-0.5,0-0.9,0-1.4,0.1c-13.4-7.7-28.3-11.7-44-11.7c-23.9,0-45.3,8.9-62.1,25.6 + l-6.2,6.2c-0.5-5.5-2.6-10.1-6.3-13.8c-4.3-4.3-9.7-6.4-16.3-6.4h-2.8v-90.9h2.8c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3 + V204.5c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H477.3c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3v136.4 + c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h2.8v90.9h-2.8c-6.6,0-12.1,2.1-16.3,6.4c-3.7,3.7-5.8,8.3-6.2,13.8l-6.2-6.2 + c-16.8-16.8-38.2-25.6-62.1-25.6c-15.8,0-30.8,4-44,11.7c-0.4,0-0.9-0.1-1.4-0.1H113.6c-6.6,0-12.1,2.1-16.3,6.4 + c-4.3,4.3-6.4,9.7-6.4,16.3v136.4c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h200.7l140.2,140.4v109.6 + c0,6.6,2.1,12.1,6.4,16.3s9.7,6.4,16.3,6.4h227.3c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V777.2l140.6-140.8h200.3 + c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V477.3z M1090.9,204.5c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H840.9 + c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3v136.4c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h227.3 + c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V204.5z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/view_data.svg b/web/pgadmin/tools/sqleditor/static/img/view_data.svg index 8a1a382b4..803d12cb5 100644 --- a/web/pgadmin/tools/sqleditor/static/img/view_data.svg +++ b/web/pgadmin/tools/sqleditor/static/img/view_data.svg @@ -1,9 +1,26 @@ -<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 1792 1792;" xml:space="preserve" width="1792" height="1792"><rect id="backgroundrect" width="100%" height="100%" x="0" y="0" fill="none" stroke="none"/> -<style type="text/css"> - .st0{fill:#222222;} - .st1{fill:#FFFFFF;} -</style> -<title>save_data_changes</title> - - -<g class="currentLayer" style=""><title>Layer 1</title><path class="st0" d="M614.0211181640625,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,1389.2831683158875 614.0211181640625,1381.039882183075 zM614.0211181640625,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,1048.918300151825 614.0211181640625,1040.6748919487 zM1069.7584228515625,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,1389.2831683158875 1069.7584228515625,1381.039882183075 zM614.0211181640625,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,708.5541033744812 614.0211181640625,700.3109393119812 zM1069.7584228515625,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,1048.918300151825 1069.7584228515625,1040.6748919487 zM1525.49560546875,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,1389.2831683158875 1525.49560546875,1381.039882183075 zM1069.7584228515625,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,708.5541033744812 1069.7584228515625,700.3109393119812 zM1525.49560546875,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,1048.918300151825 1525.49560546875,1040.6748919487 zM1525.49560546875,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,708.5541033744812 1525.49560546875,700.3109393119812 zM1639.4296875,416.6754412651062 v964.3636474609375 c0,39 -13.974724769592285,72.41590881347656 -41.835166931152344,100.15908813476562 s-61.41758346557617,41.65909194946289 -100.5824203491211,41.65909194946289 H300.70343017578125 c-39.16483688354492,0 -72.72197723388672,-13.915908813476562 -100.5824203491211,-41.65909194946289 s-41.835166931152344,-61.15909194946289 -41.835166931152344,-100.15908813476562 V416.6754412651062 c0,-39 13.974724769592285,-72.41590881347656 41.835166931152344,-100.15908813476562 s61.41758346557617,-41.65909194946289 100.5824203491211,-41.65909194946289 h1196.3077392578125 c39.16483688354492,0 72.72197723388672,13.915908813476562 100.5824203491211,41.65909194946289 S1639.4296875,377.6754412651062 1639.4296875,416.6754412651062 z" id="svg_1"/></g></svg> \ No newline at end of file +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 1181.8 1000" style="enable-background:new 0 0 1181.8 1000;" xml:space="preserve"> +<path d="M1148.4,33.4c-22.3-22.3-49-33.4-80.3-33.4H113.6c-31.2,0-58,11.1-80.3,33.4C11.1,55.6,0,82.4,0,113.6v772.7 + c0,31.2,11.1,58,33.4,80.3c22.3,22.3,49,33.4,80.3,33.4h954.5c31.2,0,58-11.1,80.3-33.4c22.3-22.3,33.4-49,33.4-80.3V113.6 + C1181.8,82.4,1170.7,55.6,1148.4,33.4z M363.6,886.4c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H113.6 + c-6.6,0-12.1-2.1-16.3-6.4s-6.4-9.7-6.4-16.3V750c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V886.4z M363.6,613.6c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H113.6c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V477.3c0-6.6,2.1-12.1,6.4-16.3s9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V613.6z M363.6,340.9c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H113.6c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V204.5c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V340.9z M727.3,886.4c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H477.3c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V750c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V886.4z M727.3,613.6c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H477.3c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V477.3c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V613.6z M727.3,340.9c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H477.3c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V204.5c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V340.9z M1090.9,886.4c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H840.9c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V750c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V886.4z M1090.9,613.6c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H840.9c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V477.3c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V613.6z M1090.9,340.9c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H840.9c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V204.5c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V340.9z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/scss/_history.scss b/web/pgadmin/tools/sqleditor/static/scss/_history.scss index 68f7fcd2c..aef96a20a 100644 --- a/web/pgadmin/tools/sqleditor/static/scss/_history.scss +++ b/web/pgadmin/tools/sqleditor/static/scss/_history.scss @@ -3,7 +3,7 @@ .list-item { border-bottom: $panel-border; - background-color: $color-bg-theme; + background-color: $color-bg; } .entry { @@ -98,7 +98,7 @@ width: 100%; display: flex; flex-direction: column; - background-color: $color-bg-theme; + background-color: $color-bg; .error-message-block { background: $sql-history-error-bg; flex: 0.3; @@ -163,7 +163,7 @@ float: left; position: relative; z-index: 10; - border: 1px solid $color-gray-light; + border: 1px solid $border-color; color: $color-primary; font-size: 12px; box-shadow: 1px 2px 4px 0px $color-gray-light; diff --git a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss index 2742f3204..a7cf63c10 100644 --- a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss +++ b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss @@ -110,7 +110,7 @@ li.CodeMirror-hint-active { .slick-cell.cell-move-handle { font-weight: bold; text-align: right; - border-right: solid $color-gray; + border-right: solid $border-color; background: $color-gray-lighter; cursor: move; } @@ -129,7 +129,7 @@ li.CodeMirror-hint-active { } .cell-selection { - border-right-color: $color-gray-light; + border-right-color: $border-color; border-right-style: solid; background: $color-gray-lighter; color: $color-gray; @@ -138,7 +138,8 @@ li.CodeMirror-hint-active { } #datagrid .slick-header .slick-header-columns { - background: $color-bg; + background: $sql-grid-title-cell-bg; + color: $sql-grid-title-cell-fg; height: 40px; border-bottom: $panel-border; } @@ -222,6 +223,27 @@ li.CodeMirror-hint-active { } /* color the first column */ + +#datagrid .slick-row { + .slick-cell { + background-color: $sql-grid-data-cell-bg; + color: $sql-grid-data-cell-fg; + } + + .slick-cell.l0.r0 { + background-color: $sql-grid-title-cell-bg; + color: $sql-grid-title-cell-fg; + } +} + +#datagrid div.slick-header.ui-state-default { + background-color: $sql-grid-title-cell-bg; + color: $sql-grid-title-cell-fg; + border-bottom: none; + border-right: none; + border-top: none; +} + #datagrid .slick-row .slick-cell.l0.r0.selected { background-color: $color-primary; color: $color-primary-fg; @@ -233,17 +255,10 @@ li.CodeMirror-hint-active { border-bottom: $table-hover-border; } -#datagrid div.slick-header.ui-state-default { - background: $color-bg; - border-bottom: none; - border-right: none; - border-top: none; -} - .pg-text-editor { z-index:10000; position:absolute; - background: $color-bg-theme; + background: $color-bg; padding: 0.25rem; border: $panel-border; box-shadow: $dropdown-box-shadow; @@ -299,3 +314,57 @@ div.strikeout:after { content: "\00B7"; font-size: 1px; } + +.sql-scratch { + width: 100%; + height: 100%; + box-sizing: border-box; + overflow-y: hidden; + + textarea { + width: 100%; + height: 100%; + box-sizing: border-box; + border: none; + resize: none; + color: $color-editor-fg; + background-color: $color-editor-bg; + } +} + +.icon-query-tool-connected { + color: $color-primary; +} + +.icon-query-tool-disconnected { + color: $color-danger; +} + +.connection_status .obtaining-conn { + background-image: $loader-icon-small !important; + background-position: center center; + background-repeat: no-repeat; + &:before { + content:''; + } + min-width: 50%; + min-height: 100%; +} + +.sql-editor-grid-container { + height: 100%; + overflow: auto; + + .ui-widget-content { + background-color: $input-bg; + color: $input-color; + } + + .ui-state-default { + color: $color-fg; + } +} + +.sql-editor-grid-container.has-no-footer { + height: 100%; +} diff --git a/web/webpack.config.js b/web/webpack.config.js index bc64081e2..cce5cad9a 100644 --- a/web/webpack.config.js +++ b/web/webpack.config.js @@ -22,15 +22,20 @@ const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const extractStyle = new MiniCssExtractPlugin({ filename: '[name].css', + chunkFilename: '[name].css', allChunks: true, }); const WebpackRequireFromPlugin = require('webpack-require-from'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; +const CopyPlugin = require('copy-webpack-plugin'); +const IconfontWebpackPlugin = require('iconfont-webpack-plugin'); const envType = PRODUCTION ? 'production': 'development'; const devToolVal = PRODUCTION ? false : 'eval'; const analyzerMode = process.env.ANALYZE=='true' ? 'static' : 'disabled'; +const outputPath = __dirname + '/pgadmin/static/js/generated'; + // Expose libraries in app context so they need not to // require('libname') when used in a module const providePlugin = new webpack.ProvidePlugin({ @@ -62,7 +67,7 @@ const optimizeAssetsPlugin = new OptimizeCssAssetsPlugin({ // Reference: https://webpack.js.org/plugins/source-map-dev-tool-plugin/#components/sidebar/sidebar.jsx const sourceMapDevToolPlugin = new webpack.SourceMapDevToolPlugin({ filename: '[name].js.map', - exclude: /(vendor|codemirror|slickgrid|pgadmin\.js|style\.js|popper)/, + exclude: /(vendor|codemirror|slickgrid|pgadmin\.js|pgadmin.theme|pgadmin.static|style\.js|popper)/, columns: false, }); @@ -79,6 +84,16 @@ const bundleAnalyzer = new BundleAnalyzerPlugin({ reportFilename: 'analyze_report.html', }); +let pgadminThemesJson = 'pgadmin.themes.json'; +const copyFiles = new CopyPlugin([ + pgadminThemesJson, + { + from: './pgadmin/static/scss/resources/**/*.png', + to: outputPath + '/img', + flatten: true, + }, +]); + function cssToBeSkiped(curr_path) { /** Skip all templates **/ if(curr_path.indexOf('template') > -1) { @@ -96,7 +111,7 @@ function cssToBeSkiped(curr_path) { /* Get all the style files recursively and store in array to * give input to webpack. */ -function pushModulesCss(curr_path, pgadminStyles) { +function pushModulesStyles(curr_path, pgadminStyles, extn) { /** Skip Directories */ if(cssToBeSkiped(curr_path)) { return; @@ -111,22 +126,223 @@ function pushModulesCss(curr_path, pgadminStyles) { let stats = fs.statSync(path.join(curr_path, curr_file)); /* if directory, dig further */ if(stats.isDirectory()) { - pushModulesCss(path.join(curr_path, curr_file), pgadminStyles); + pushModulesStyles(path.join(curr_path, curr_file), pgadminStyles, extn); } - else if(stats.isFile() && (curr_file.endsWith('.scss') || curr_file.endsWith('.css'))) { + else if(stats.isFile() && (curr_file.endsWith(extn))) { pgadminStyles.push(path.join(curr_path, curr_file)); } }); } -let pgadminStyles = []; +let pgadminScssStyles = []; +let pgadminCssStyles = []; + /* Include what is given in shim config */ for(let i=0; i<webpackShimConfig.css_bundle_include.length; i++) { - pgadminStyles.push(path.join(__dirname, webpackShimConfig.css_bundle_include[i])); + if(webpackShimConfig.css_bundle_include[i].endsWith('.scss')) { + pgadminScssStyles.push(path.join(__dirname, webpackShimConfig.css_bundle_include[i])); + } else if(webpackShimConfig.css_bundle_include[i].endsWith('.css')){ + pgadminCssStyles.push(path.join(__dirname, webpackShimConfig.css_bundle_include[i])); + } } -pushModulesCss(path.join(__dirname,'./pgadmin'), pgadminStyles); -module.exports = { +pushModulesStyles(path.join(__dirname,'./pgadmin'), pgadminScssStyles, '.scss'); +pushModulesStyles(path.join(__dirname,'./pgadmin'), pgadminCssStyles, '.css'); + +/* Get all the themes */ + +let all_themes_dir = path.join(__dirname,'./pgadmin/static/scss/resources'); +let pgadminThemes = {}; +/* Read all the theme dirs */ +/* Theme format + "theme_name": { + "disp_name": "theme_name", + "cssfile": "pgadmin.theme.theme_name", + "preview_img": "theme_name_preview.png" + } +*/ +fs.readdirSync(all_themes_dir).map(function(curr_dir) { + let stats = fs.statSync(path.join(all_themes_dir, curr_dir)); + + if(stats.isDirectory()) { + /* Theme directory found */ + let cssfile = 'pgadmin.theme.'+curr_dir; + pgadminThemes[curr_dir] = { + /* For now lets keep it as beta release */ + disp_name: curr_dir + '_beta', + cssfile: cssfile, + preview_img: curr_dir + '_preview.png', + }; + } +}); + +fs.writeFileSync(pgadminThemesJson, JSON.stringify(pgadminThemes, null, 4)); + +var themeCssRules = function(theme_name) { + return [{ + test: /\.(jpe?g|png|gif|svg)$/i, + loaders: [{ + loader: 'url-loader', + options: { + emitFile: true, + name: 'img/[name].[ext]', + limit: 4096, + }, + }, { + loader: 'image-webpack-loader', + query: { + bypassOnDebug: true, + mozjpeg: { + progressive: true, + }, + gifsicle: { + interlaced: false, + }, + optipng: { + optimizationLevel: 7, + }, + pngquant: { + quality: '75-90', + speed: 3, + }, + }, + }], + exclude: /vendor/, + }, { + test: /\.(eot|svg|ttf|woff|woff2)$/, + loaders: [{ + loader: 'file-loader', + options: { + name: 'fonts/[name].[ext]', + emitFile: true, + }, + }], + include: [ + /node_modules/, + path.join(sourceDir, '/css/'), + path.join(sourceDir, '/scss/'), + path.join(sourceDir, '/fonts/'), + ], + exclude: /vendor/, + }, { + test: /\.scss$/, + use: [ + {loader: MiniCssExtractPlugin.loader}, + {loader: 'css-loader'}, + { + loader: 'postcss-loader', + options: { + plugins: (loader) => [ + require('autoprefixer')(), + new IconfontWebpackPlugin(loader), + ], + }, + }, + {loader: 'sass-loader'}, + { + loader: 'sass-resources-loader', + options: { + resources: function(theme_name){ + let ret_res = [ + './pgadmin/static/scss/resources/' + theme_name + '/_theme.variables.scss', + './pgadmin/static/scss/resources/pgadmin.resources.scss', + ]; + if(theme_name!='standard') { + ret_res.unshift('./pgadmin/static/scss/resources/' + theme_name + '/_theme.variables.scss'); + } + return ret_res; + }(theme_name), + }, + }, + ], + }, { + test: /\.css$/, + use: [ + MiniCssExtractPlugin.loader, + 'css-loader', + { + loader: 'postcss-loader', + options: { + plugins: (loader) => [ + require('autoprefixer')(), + new IconfontWebpackPlugin(loader), + ], + }, + }, + ], + }]; +}; + +var getThemeWebpackConfig = function(theme_name) { + return { + mode: envType, + devtool: devToolVal, + stats: { children: false }, + // The base directory, an absolute path, for resolving entry points and loaders + // from configuration. + context: __dirname, + // Specify entry points of application + entry: { + [pgadminThemes[theme_name].cssfile]: pgadminScssStyles, + }, + // path: The output directory for generated bundles(defined in entry) + // Ref: https://webpack.js.org/configuration/output/#output-library + output: { + libraryTarget: 'amd', + path: outputPath, + filename: '[name].js', + libraryExport: 'default', + }, + // Templates files which contains python code needs to load dynamically + // Such files specified in externals are loaded at first and defined in + // the start of generated bundle within define(['libname'],fn) etc. + externals: webpackShimConfig.externals, + module: { + // References: + // Module and Rules: https://webpack.js.org/configuration/module/ + // Loaders: https://webpack.js.org/loaders/ + // + // imports-loader: it adds dependent modules(use:imports-loader?module1) + // at the beginning of module it is dependency of like: + // var jQuery = require('jquery'); var browser = require('pgadmin.browser') + // It solves number of problems + // Ref: http:/github.com/webpack-contrib/imports-loader/ + rules: themeCssRules(theme_name), + }, + resolve: { + alias: webpackShimConfig.resolveAlias, + modules: ['node_modules', '.'], + extensions: ['.js'], + unsafeCache: true, + }, + // Watch mode Configuration: After initial build, webpack will watch for + // changes in files and compiles only files which are changed, + // if watch is set to True + // Reference: https://webpack.js.org/configuration/watch/#components/sidebar/sidebar.jsx + watchOptions: { + aggregateTimeout: 300, + poll: 1000, + ignored: /node_modules/, + }, + // Define list of Plugins used in Production or development mode + // Ref:https://webpack.js.org/concepts/plugins/#components/sidebar/sidebar.jsx + plugins: PRODUCTION ? [ + extractStyle, + optimizeAssetsPlugin, + sourceMapDevToolPlugin, + ]: [ + extractStyle, + sourceMapDevToolPlugin, + ], + }; +}; + +var pgadminThemesWebpack = []; +Object.keys(pgadminThemes).map((theme_name)=>{ + pgadminThemesWebpack.push(getThemeWebpackConfig(theme_name)); +}); + +module.exports = [{ mode: envType, devtool: devToolVal, stats: { children: false }, @@ -141,14 +357,15 @@ module.exports = { sqleditor: './pgadmin/tools/sqleditor/static/js/sqleditor.js', debugger_direct: './pgadmin/tools/debugger/static/js/direct.js', file_utils: './pgadmin/misc/file_manager/static/js/utility.js', - pgadmin: pgadminStyles, + 'pgadmin.style': pgadminCssStyles, + pgadmin: pgadminScssStyles, style: './pgadmin/static/css/style.css', }, // path: The output directory for generated bundles(defined in entry) // Ref: https://webpack.js.org/configuration/output/#output-library output: { libraryTarget: 'amd', - path: __dirname + '/pgadmin/static/js/generated', + path: outputPath, filename: '[name].js', chunkFilename: '[name].chunk.js', libraryExport: 'default', @@ -282,73 +499,7 @@ module.exports = { use: { loader: 'imports-loader?this=>window,fix=>module.exports=0', }, - }, { - test: /\.(jpe?g|png|gif|svg)$/i, - loaders: [{ - loader: 'url-loader', - options: { - emitFile: true, - name: 'img/[name].[ext]', - limit: 4096, - }, - }, { - loader: 'image-webpack-loader', - query: { - bypassOnDebug: true, - mozjpeg: { - progressive: true, - }, - gifsicle: { - interlaced: false, - }, - optipng: { - optimizationLevel: 7, - }, - pngquant: { - quality: '75-90', - speed: 3, - }, - }, - }], - exclude: /vendor/, - }, { - test: /\.(eot|svg|ttf|woff|woff2)$/, - loaders: [{ - loader: 'file-loader', - options: { - name: 'fonts/[name].[ext]', - emitFile: true, - }, - }], - include: [ - /node_modules/, - path.join(sourceDir, '/css/'), - path.join(sourceDir, '/scss/'), - path.join(sourceDir, '/fonts/'), - ], - exclude: /vendor/, - }, { - test: /\.scss$/, - use: [ - {loader: MiniCssExtractPlugin.loader}, - {loader: 'css-loader'}, - {loader: 'sass-loader'}, - { - loader: 'sass-resources-loader', - options: { - resources: [ - './pgadmin/static/scss/resources/pgadmin.resources.scss', - ], - }, - }, - ], - }, { - test: /\.css$/, - use: [ - MiniCssExtractPlugin.loader, - 'css-loader', - ], - }], + }].concat(themeCssRules('standard')), // Prevent module from parsing through webpack, helps in reducing build time noParse: [/moment.js/], }, @@ -466,10 +617,12 @@ module.exports = { sourceMapDevToolPlugin, webpackRequireFrom, bundleAnalyzer, + copyFiles, ]: [ extractStyle, providePlugin, sourceMapDevToolPlugin, webpackRequireFrom, + copyFiles, ], -}; +}].concat(pgadminThemesWebpack); diff --git a/web/yarn.lock b/web/yarn.lock index 8f325cf2b..9066fa4ae 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -1030,7 +1030,7 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" -argparse@^1.0.7: +argparse@^1.0.6, argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -1188,6 +1188,19 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +autoprefixer@^9.6.4: + version "9.6.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.4.tgz#e6453be47af316b2923eaeaed87860f52ad4b7eb" + integrity sha512-Koz2cJU9dKOxG8P1f8uVaBntOv9lP4yz9ffWvWaicv9gHBPhpQB22nGijwd8gqW9CNT+UdkbQOQNLVI8jN1ZfQ== + dependencies: + browserslist "^4.7.0" + caniuse-lite "^1.0.30000998" + chalk "^2.4.2" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.18" + postcss-value-parser "^4.0.2" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -2039,7 +2052,7 @@ browserify@^16.1.0, browserify@~16.2.3: vm-browserify "^1.0.0" xtend "^4.0.0" -browserslist@^4.0.0, browserslist@^4.6.0, browserslist@^4.7.1: +browserslist@^4.0.0, browserslist@^4.6.0, browserslist@^4.7.0, browserslist@^4.7.1: version "4.7.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.2.tgz#1bb984531a476b5d389cedecb195b2cd69fb1348" integrity sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw== @@ -2132,6 +2145,26 @@ [email protected]: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== +cacache@^11.3.3: + version "11.3.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" + integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + cacache@^12.0.2: version "12.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" @@ -2253,6 +2286,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001004: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001004.tgz#d879b73981b255488316da946c39327d8c00a586" integrity sha512-3nfOR4O8Wa2RWoYfJkMtwRVOsK96TQ+eq57wd0iKaEWl8dwG4hKZ/g0MVBfCvysFvMLi9fQGR/DvozMdkEPl3g== +caniuse-lite@^1.0.30000998: + version "1.0.30000999" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" + integrity sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -2543,7 +2581,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3: +commander@^2.12.2, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2691,6 +2729,24 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +copy-webpack-plugin@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz#c78126f604e24f194c6ec2f43a64e232b5d43655" + integrity sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg== + dependencies: + cacache "^11.3.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.0" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + webpack-log "^2.0.0" + core-js-compat@^3.1.1: version "3.3.3" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.3.3.tgz#82642808cf484a35292b2f8e83ef9376884e760f" @@ -2970,6 +3026,11 @@ csso@^3.5.1: dependencies: css-tree "1.0.0-alpha.29" +cubic2quad@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cubic2quad/-/cubic2quad-1.1.1.tgz#69b19c61a3f5b41ecf2f1d5fae8fb03415aa8b15" + integrity sha1-abGcYaP1tB7PLx1fro+wNBWqixU= + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -3248,6 +3309,13 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dir-glob@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -4296,6 +4364,11 @@ gaze@^1.0.0: dependencies: globule "^1.0.0" +geometry-interfaces@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/geometry-interfaces/-/geometry-interfaces-1.1.4.tgz#9e82af6700ca639a675299f08e1f5fbc4a79d48d" + integrity sha512-qD6OdkT6NcES9l4Xx3auTpwraQruU7dARbQPVO71MKvkGYw5/z/oIiGymuFXrRaEQa5Y67EIojUpaLeGEa5hGA== + get-assigned-identifiers@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz#6dbf411de648cbaf8d9169ebb0d2d576191e2ff1" @@ -4465,6 +4538,18 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + globule@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" @@ -4814,6 +4899,17 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= +iconfont-webpack-plugin@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/iconfont-webpack-plugin/-/iconfont-webpack-plugin-4.2.1.tgz#bd1b1ab2960affd602b207d1523d79dea4f21aea" + integrity sha512-OIBHTSgir7uGwM0nw+UbCsfDXg/OEfn9ixrgsRygKm2nY8JGTy9zHxOWbQE6xDaP92/jYzQL3GjCy3kiBvBYtw== + dependencies: + loader-utils "1.2.3" + postcss "6.0.23" + svg2ttf "4.3.0" + svgicons2svgfont "9.1.1" + ttf2woff "2.0.1" + [email protected], iconv-lite@^0.4.15, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -4850,6 +4946,11 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -4943,6 +5044,13 @@ immutability-helper@^3.0.0: dependencies: invariant "^2.2.4" +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -4959,6 +5067,13 @@ import-fresh@^3.0.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + import-lazy@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" @@ -5463,6 +5578,11 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= [email protected]: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + [email protected], isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -6156,6 +6276,11 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= +microbuffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/microbuffer/-/microbuffer-1.0.0.tgz#8b3832ed40c87d51f47bb234913a698a756d19d2" + integrity sha1-izgy7UDIfVH0e7I0kTppinVtGdI= + micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -6435,6 +6560,13 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +neatequal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/neatequal/-/neatequal-1.0.0.tgz#2ee1211bc9fa6e4c55715fd210bb05602eb1ae3b" + integrity sha1-LuEhG8n6bkxVcV/SELsFYC6xrjs= + dependencies: + varstream "^0.3.2" + needle@^2.2.1: version "2.3.0" resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.0.tgz#ce3fea21197267bacb310705a7bbe24f2a3a3492" @@ -6589,6 +6721,11 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + [email protected]: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" @@ -6660,6 +6797,11 @@ null-check@^1.0.0: resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" integrity sha1-l33/1xdgErnsMNKjnbXPcqBDnt0= +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" @@ -6918,7 +7060,7 @@ p-is-promise@^2.0.0: resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== -p-limit@^2.0.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== @@ -6968,7 +7110,7 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pako@~1.0.5: +pako@^1.0.0, pako@~1.0.5: version "1.0.10" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== @@ -7118,6 +7260,13 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + pbkdf2@^3.0.3: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" @@ -7276,6 +7425,24 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" +postcss-load-config@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + postcss-merge-longhand@^4.0.11: version "4.0.11" resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" @@ -7531,10 +7698,24 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.20" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.20.tgz#a107b68ef1ad1c5e6e214ebb3c5ede2799322837" - integrity sha512-VOdO3a5nHVftPSEbG1zaG320b4mH5KAflH+pIeVAF5/hlw6YumELSgHZQBekjg29Oj4qw7XAyp9tIEBpeNWcyg== +postcss-value-parser@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" + integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== + [email protected]: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.18, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" + integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -7789,6 +7970,16 @@ read-pkg@^1.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^1.0.33: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -8371,6 +8562,11 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + slice-ansi@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" @@ -8765,6 +8961,16 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string.fromcodepoint@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz#8d978333c0bc92538f50f383e4888f3e5619d653" + integrity sha1-jZeDM8C8klOPUPOD5IiPPlYZ1lM= + +string.prototype.codepointat@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz#004ad44c8afc727527b108cd462b4d971cd469bc" + integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg== + string.prototype.trimleft@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" @@ -8788,6 +8994,11 @@ string_decoder@^1.0.0, string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -8890,13 +9101,46 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0: +supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" +svg-pathdata@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-5.0.2.tgz#e667b94a6071b60c5b123df04f9d6c9fe2f4850e" + integrity sha512-tmfwioGZZaSMZnAGCFiWd30O2sVbA5/wVP/CS8Pcf9s1ptd6J26bZUFwkIRZy+GYmD+uCECdiAP7bPpLszj+1w== + [email protected]: + version "4.3.0" + resolved "https://registry.yarnpkg.com/svg2ttf/-/svg2ttf-4.3.0.tgz#433440c7e9062f8fdcec3cad721cd08a2c7e51e3" + integrity sha512-LZ0B7zzHWLWbzLzwaKGHQvPOuxCXLReIb3LSxFSGUy1gMw2Utk6KGNbTmbmRL6Rk1qDSmTixnDrQgnXaL9n0CA== + dependencies: + argparse "^1.0.6" + cubic2quad "^1.0.0" + lodash "^4.17.10" + microbuffer "^1.0.0" + svgpath "^2.1.5" + xmldom "~0.1.22" + [email protected]: + version "9.1.1" + resolved "https://registry.yarnpkg.com/svgicons2svgfont/-/svgicons2svgfont-9.1.1.tgz#655d30c256176f6e29c96058609ef0a9b0ebf2df" + integrity sha512-iOj7lqHP/oMrLg7S2Iv89LOJUfmIuePefXcs5ul4IsKwcYvL/T/Buahz+nQQJygyuvEMBBXqnCRmnvJggHeJzA== + dependencies: + commander "^2.12.2" + geometry-interfaces "^1.1.4" + glob "^7.1.2" + neatequal "^1.0.0" + readable-stream "^2.3.3" + sax "^1.2.4" + string.fromcodepoint "^0.2.1" + string.prototype.codepointat "^0.2.0" + svg-pathdata "^5.0.0" + transformation-matrix-js "^2.7.1" + svgo@^1.0.0, svgo@^1.0.5: version "1.3.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" @@ -8916,6 +9160,11 @@ svgo@^1.0.0, svgo@^1.0.5: unquote "~1.1.1" util.promisify "~1.0.0" +svgpath@^2.1.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/svgpath/-/svgpath-2.2.2.tgz#1c70d44e27f7b6bd42a74ed3c960be93e411def3" + integrity sha512-7cXFbkZvPkZpKLC+3QIfyUd3/Un/CvJONjTD3Gz5qLuEa73StPOt8kZjTi9apxO6zwCaza0bPNnmzTyrQ4qQlw== + syntax-error@^1.1.1: version "1.4.0" resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.4.0.tgz#2d9d4ff5c064acb711594a3e3b95054ad51d907c" @@ -9205,6 +9454,11 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" +transformation-matrix-js@^2.7.1: + version "2.7.6" + resolved "https://registry.yarnpkg.com/transformation-matrix-js/-/transformation-matrix-js-2.7.6.tgz#25c7ff055c99b8528ffbd4c4a2684be6c9d5ef60" + integrity sha512-1CxDIZmCQ3vA0GGnkdMQqxUXVm3xXAFmglPYRS1hr37LzSg22TC7QAWOT38OmdUvMEs/rqcnkFoAsqvzdiluDg== + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -9234,6 +9488,15 @@ tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== [email protected]: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ttf2woff/-/ttf2woff-2.0.1.tgz#871832240024b09db9570904c7c1928b8057c969" + integrity sha1-hxgyJAAksJ25VwkEx8GSi4BXyWk= + dependencies: + argparse "^1.0.6" + microbuffer "^1.0.0" + pako "^1.0.0" + [email protected]: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -9554,6 +9817,13 @@ value-or-function@^3.0.0: resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= +varstream@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/varstream/-/varstream-0.3.2.tgz#18ac6494765f3ff1a35ad9a4be053bec188a5de1" + integrity sha1-GKxklHZfP/GjWtmkvgU77BiKXeE= + dependencies: + readable-stream "^1.0.33" + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -9870,6 +10140,11 @@ xmlbuilder@^10.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz#8cae6688cc9b38d850b7c8d3c0a4161dcaf475b0" integrity sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg== +xmldom@~0.1.22: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= + xmlhttprequest-ssl@~1.5.4: version "1.5.5" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-07 13:08 Aditya Toshniwal <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-07 13:08 UTC (permalink / raw) To: pgadmin-hackers Hi Hackers, Attached is the updated patch with few more changes and corrections. Kindly review. On Wed, Nov 6, 2019 at 12:32 PM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > Attached is the patch to introduce theme options in pgAdmin. > Changes include: > 1) New theme option in preferences - Miscellaneous -> Themes. You can > select the theme from the dropdown. It also has a preview of the theme just > below the dropdown. Note that, a page refresh is needed to apply changes. > On saving, a dialog appears to ask for refresh. > 2) You can create your own theme and submit to hackers. README is updated > to help you create a theme. Theme will be available only after bundle. > 3) Correction of SASS variables at few places and few other CSS > corrections. > 4) Added iconfont-webpack-plugin, which will convert all the svg > files(monochrome) used as icons for buttons to font icons. This will allow > us to change the color of icon by using CSS color property. > 5) All the .css files will bundle into a separate file now- > pgadmin.style.css. This will help reduce the size of theme css files as CSS > in .css files will not change with the change of SASS variables. > 6) "Dark Beta" theme added as a new theme option. > > How theme is built ? > Webpack config is changed to achieve it. On running yarn run bundle, code > will read all the directories in web/pgadmin/static/scss/resources which > will be considered as theme dirs, build a separate css for every theme and > then create a file named pgadmin.themes.json which will have all the > information required. > > The patch also fixes RM4173, where there some issue with arrow icons in > browser tree. > > Kindly review. > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [application/octet-stream] RM4348_v2.patch (548.5K, 3-RM4348_v2.patch) download | inline diff: diff --git a/.gitignore b/.gitignore index 1cc2ea4e8..c1e62bc38 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ runtime/pgAdmin4_resource.rc runtime/release/ runtime/ui_BrowserWindow.h web/config_local.py +web/pgadmin.themes.json web/geckodriver.log web/regression/test_config.json node_modules/ diff --git a/README b/README index e1045703d..3c886c43a 100644 --- a/README +++ b/README @@ -219,6 +219,19 @@ can be used: C:\$PGADMIN4_SRC\web> yarn install C:\$PGADMIN4_SRC\web> yarn run bundle +Creating pgAdmin themes +----------------------- + +To create a pgAdmin theme, you need to create a directory under web/pgadmin/static/scss/resources. +Copy the sample file _theme.variables.scss.sample to the new directory and rename it to _theme.variables.scss. +Change the desired hexadecimal values of the colors and bundle pgAdmin. You can also add a preview image in the +theme directory with the name as <dir name>_preview.png. It is recommended that the preview image should not be +larger in size as it may take time to load on slow networks. Run the yarn run bundle and you're good to go. +No other changes are required, pgAdmin bundle will read the directory and create other required entries to make them +available in preferences. +The name of the theme is derived from the directory name. Underscores (_) and hyphens (-) will be replaced with +spaces and the result will be camel cased. + Configuring the Runtime ----------------------- diff --git a/docs/en_US/images/preferences_misc_themes.png b/docs/en_US/images/preferences_misc_themes.png new file mode 100644 index 0000000000000000000000000000000000000000..460998d45e48278e582a77034d13583e9f83ff08 GIT binary patch literal 103490 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 literal 0 HcmV?d00001 diff --git a/docs/en_US/images/preferences_misc_user_language.png b/docs/en_US/images/preferences_misc_user_language.png old mode 100755 new mode 100644 index 14a9b5670b9cb00fc8c746f4a60f00aaeb1ef583..3382a59d7de137b8f292a26db27786bf6eb415e4 GIT binary patch literal 74731 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 F{|`SLA+Z1e literal 50432 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 diff --git a/docs/en_US/preferences.rst b/docs/en_US/preferences.rst index 5a85fe0d2..e29cb9d25 100644 --- a/docs/en_US/preferences.rst +++ b/docs/en_US/preferences.rst @@ -178,6 +178,14 @@ Expand the *Miscellaneous* node to specify miscellaneous display preferences. * Use the *User language* drop-down listbox to select the display language for the client. +.. image:: images/preferences_misc_themes.png + :alt: Preferences dialog themes section + :align: center + +* Use the *Themes* drop-down listbox to select the theme for pgAdmin. You'll also get a preview just below the + drop down. Note that, to apply the theme you need to refresh the pgAdmin page. You can also submit your + own themes, check `here <https://git.postgresql.org/gitweb/?p=pgadmin4.git;a=blob_plain;f=README>`_ how. + The Paths Node ************** diff --git a/web/config.py b/web/config.py index c67f240b2..f992cc487 100644 --- a/web/config.py +++ b/web/config.py @@ -14,6 +14,7 @@ import logging import os import sys +import json if sys.version_info[0] >= 3: import builtins @@ -486,6 +487,26 @@ try: except ImportError: pass +THEMES = { + "standard": { + "disp_name": "Standard", + "cssfile": "pgadmin", + "preview_img": "standard_preview.png" + } +} + +OTHER_THEMES = {} +try: + extra_themes = json.load(open('pgadmin.themes.json')) + OTHER_THEMES.update(extra_themes) +except Exception: + pass + +# Set OTHER_THEMES to None here to disable all other themes + +if OTHER_THEMES is not None: + THEMES.update(OTHER_THEMES) + # SUPPORT_SSH_TUNNEL can be override in local config file and if that # setting is False in local config then we should not check the Python version. if (SUPPORT_SSH_TUNNEL is True and diff --git a/web/package.json b/web/package.json index 52352348f..4e82aa7f7 100644 --- a/web/package.json +++ b/web/package.json @@ -9,14 +9,17 @@ "devDependencies": { "@babel/core": "~7.6.0", "@babel/preset-env": "~7.6.0", + "autoprefixer": "^9.6.4", "axios-mock-adapter": "^1.17.0", "babel-loader": "~8.0.5", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", + "copy-webpack-plugin": "^5.0.4", "core-js": "^3.2.1", "cross-env": "^5.2.0", "eclint": "^2.8.1", "eslint": "5.15.1", "file-loader": "^3.0.1", + "iconfont-webpack-plugin": "^4.2.1", "image-webpack-loader": "^4.6.0", "is-docker": "^1.1.0", "jasmine-core": "~3.3.0", @@ -34,6 +37,7 @@ "node-sass": "^4.11.0", "optimize-css-assets-webpack-plugin": "^5.0.1", "popper.js": "^1.14.7", + "postcss-loader": "^3.0.0", "raw-loader": "^1.0.0", "sass-loader": "^7.1.0", "sass-resources-loader": "^2.0.0", diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py index de365eadd..41ca051f1 100644 --- a/web/pgadmin/__init__.py +++ b/web/pgadmin/__init__.py @@ -713,10 +713,26 @@ def create_app(app_name=None): @app.context_processor def inject_blueprint(): - """Inject a reference to the current blueprint, if any.""" + """ + Inject a reference to the current blueprint, if any. + Also the get_theme_css func. + """ + + def get_theme_css(): + misc_preference = Preferences.module('misc') + theme = misc_preference.preference('theme').get() + theme_css = config.THEMES['standard']['cssfile'] + '.css' + + if theme not in config.THEMES: + pass + else: + theme_css = config.THEMES[theme]['cssfile'] + '.css' + return theme_css + return { 'current_app': current_app, - 'current_blueprint': current_blueprint + 'current_blueprint': current_blueprint, + 'get_theme_css': get_theme_css, } @app.errorhandler(Exception) diff --git a/web/pgadmin/browser/server_groups/servers/static/css/servers.css b/web/pgadmin/browser/server_groups/servers/static/css/servers.css index 65f9f53db..61536428a 100644 --- a/web/pgadmin/browser/server_groups/servers/static/css/servers.css +++ b/web/pgadmin/browser/server_groups/servers/static/css/servers.css @@ -1,12 +1,3 @@ -.icon-server-connecting { - background-image: url('~top/static/img/load-node.gif') !important; - background-repeat: no-repeat; - background-size: 20px !important; - align-content: center; - vertical-align: middle; - height: 1.3em; -} - .change_password { padding-left: 7px; -} \ No newline at end of file +} diff --git a/web/pgadmin/browser/server_groups/servers/static/scss/_servers.scss b/web/pgadmin/browser/server_groups/servers/static/scss/_servers.scss index 0059fc259..6b83f891c 100644 --- a/web/pgadmin/browser/server_groups/servers/static/scss/_servers.scss +++ b/web/pgadmin/browser/server_groups/servers/static/scss/_servers.scss @@ -1,3 +1,12 @@ .bg-model-duplicate { @extend .bg-warning-light; } + +.icon-server-connecting { + background-image: $loader-icon-small !important; + background-repeat: no-repeat; + background-size: 18px !important; + align-content: center; + vertical-align: middle; + height: 1.3em; +} diff --git a/web/pgadmin/browser/static/css/browser.css b/web/pgadmin/browser/static/css/browser.css index b4de47c0f..57295ee76 100644 --- a/web/pgadmin/browser/static/css/browser.css +++ b/web/pgadmin/browser/static/css/browser.css @@ -47,3 +47,8 @@ .pgadmin_header_logo { cursor: default; } + +.icon-drop-cascade:before { + font-icon: url('../img/drop_cascade.svg'); + font-size: 1.6em !important; +} diff --git a/web/pgadmin/browser/static/img/drop_cascade.svg b/web/pgadmin/browser/static/img/drop_cascade.svg new file mode 100644 index 000000000..c3e521c55 --- /dev/null +++ b/web/pgadmin/browser/static/img/drop_cascade.svg @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve"> +<g> + <polygon points="15,9 13.6,10.4 13.6,3.9 12.4,3.9 12.4,10.4 11,9 10.2,9.8 13,12.6 15.8,9.8 "/> + <path d="M9.8,4.2H7.6L7.2,3C7.1,2.8,7,2.7,6.8,2.6C6.6,2.5,6.4,2.4,6.2,2.4H3.9c-0.2,0-0.4,0.1-0.5,0.2C3.2,2.7,3.1,2.9,3,3.1 + L2.5,4.3H0.3c-0.1,0-0.1,0-0.2,0.1S0.1,4.5,0.1,4.5v0.4c0,0.1,0,0.1,0.1,0.2s0.1,0.1,0.2,0.1H1v6.7c0,0.4,0.1,0.7,0.4,1 + c0.2,0.2,0.5,0.4,0.8,0.4h5.8c0.3,0,0.6-0.1,0.8-0.4c0.2-0.3,0.4-0.6,0.4-1V5.1h0.7c0.1,0,0.1,0,0.2-0.1C10,5,10,4.9,10,4.9V4.5 + c0.1-0.1,0-0.1,0-0.2C9.9,4.2,9.9,4.2,9.8,4.2z M3.8,3.4C3.9,3.3,3.9,3.3,4,3.3h2.2c0.1,0,0.1,0.1,0.1,0.1l0.4,0.8H3.5L3.8,3.4z + M8.2,12.1c-0.1,0.1-0.1,0.2-0.1,0.2C8,12.3,8,12.3,8,12.3H2.1c0,0-0.1,0-0.1-0.1C2,12.2,2,12.2,1.9,12.1c-0.1-0.1-0.1-0.2-0.1-0.3 + V5.1h6.3v6.7h0.1C8.2,11.9,8.2,12,8.2,12.1z"/> + <path d="M7,6.4H6.6c-0.1,0-0.1,0-0.2,0.1S6.4,6.6,6.4,6.7v4c0,0.1,0,0.1,0.1,0.2S6.6,11,6.6,11H7c0.1,0,0.1,0,0.2-0.1 + c0.1-0.1,0.1-0.1,0.1-0.2v-4c0-0.1,0-0.1-0.1-0.2C7.2,6.4,7.1,6.4,7,6.4z"/> + <path d="M3.4,6.4H3c-0.1,0-0.1,0-0.2,0.1C2.8,6.6,2.8,6.6,2.8,6.7v4c0,0.1,0,0.1,0.1,0.2C2.9,11,2.9,11,3,11h0.4 + c0.1,0,0.1,0,0.2-0.1c0.1-0.1,0.1-0.1,0.1-0.2v-4c0-0.1,0-0.1-0.1-0.2C3.5,6.4,3.5,6.4,3.4,6.4z"/> + <path d="M5.2,6.4H4.8c-0.1,0-0.1,0-0.2,0.1S4.6,6.6,4.6,6.7v4c0,0.1,0,0.1,0.1,0.2S4.8,11,4.8,11h0.4c0.1,0,0.1,0,0.2-0.1 + c0.1-0.1,0.1-0.1,0.1-0.2v-4c0-0.1,0-0.1-0.1-0.2C5.4,6.4,5.3,6.4,5.2,6.4z"/> +</g> +</svg> diff --git a/web/pgadmin/browser/static/js/collection.js b/web/pgadmin/browser/static/js/collection.js index 51919fdce..96e793079 100644 --- a/web/pgadmin/browser/static/js/collection.js +++ b/web/pgadmin/browser/static/js/collection.js @@ -247,7 +247,7 @@ define([ type: 'delete', tooltip: gettext('Drop Cascade'), extraClasses: ['btn-secondary m-1', 'delete_multiple_cascade'], - icon: 'icon-delete_multiple_cascade', + icon: 'pg-font-icon icon-drop-cascade', disabled: (_.isFunction(that.canDropCascade)) ? !(that.canDropCascade.apply(self, [data, item])) : (!that.canDropCascade), register: function(btn) { btn.on('click',() => { diff --git a/web/pgadmin/browser/static/js/toolbar.js b/web/pgadmin/browser/static/js/toolbar.js index 1a951d272..f491bfdbc 100644 --- a/web/pgadmin/browser/static/js/toolbar.js +++ b/web/pgadmin/browser/static/js/toolbar.js @@ -22,7 +22,7 @@ let _defaultToolBarButtons = [ text: '', toggled: false, toggleClass: '', - parentClass: 'pg-toolbar-btn', + parentClass: 'pg-toolbar-btn btn-secondary', enabled: false, }, { @@ -31,7 +31,7 @@ let _defaultToolBarButtons = [ text: '', toggled: false, toggleClass: '', - parentClass: 'pg-toolbar-btn', + parentClass: 'pg-toolbar-btn btn-secondary', enabled: false, }, { @@ -40,7 +40,7 @@ let _defaultToolBarButtons = [ text: '', toggled: false, toggleClass: '', - parentClass: 'pg-toolbar-btn', + parentClass: 'pg-toolbar-btn btn-secondary', enabled: false, }, ]; diff --git a/web/pgadmin/browser/static/scss/_browser.scss b/web/pgadmin/browser/static/scss/_browser.scss index 53de6f93a..9ea1ecc5e 100644 --- a/web/pgadmin/browser/static/scss/_browser.scss +++ b/web/pgadmin/browser/static/scss/_browser.scss @@ -49,5 +49,6 @@ samp, .pg-toolbar-btn { margin-left: 0.25rem; - border: $input-btn-border-width solid $btn-secondary-border; + border-style: solid; + border-width: 1px; } diff --git a/web/pgadmin/dashboard/static/css/dashboard.css b/web/pgadmin/dashboard/static/css/dashboard.css index 93a0e1471..91ab75b62 100644 --- a/web/pgadmin/dashboard/static/css/dashboard.css +++ b/web/pgadmin/dashboard/static/css/dashboard.css @@ -24,23 +24,6 @@ line-height: 30px; } -.dashboard-tab-btn-group button { - padding: 5px; -} - -.dashboard-tab-btn-group > button { - margin: 2px 3px 2px 0px; - min-width: 40px; -} - -.dashboard-tab-btn-group > button:first-child { - margin-left: 3px; -} - -.dashboard-tab-btn-group > button:last-child { - margin-right: 3px; -} - .graph-container { margin-top: 10px; height: 150px; diff --git a/web/pgadmin/dashboard/static/scss/_dashboard.scss b/web/pgadmin/dashboard/static/scss/_dashboard.scss index eeac9c4f5..4b204a3bb 100644 --- a/web/pgadmin/dashboard/static/scss/_dashboard.scss +++ b/web/pgadmin/dashboard/static/scss/_dashboard.scss @@ -16,14 +16,6 @@ margin-bottom: $grid-gutter-width/2; } -.dashboard-tab-btn-group { - background-color: $color-gray-light; - border: 2px solid $color-gray; - left: 0px; - right: 0px; - padding: 2px; -} - .graph-error { background-color: $color-gray-lighter; padding-top: 20px @@ -44,5 +36,17 @@ .dashboard-link a { cursor: pointer; - color: $color-fg-theme; + color: $color-fg; +} + +.dashboard-graph-body { + & .flotr-labels { + color: $color-fg !important; + } + & .flotr-legend { + .flotr-legend-label { + color: $color-fg !important; + padding-left: 0.25rem; + } + } } diff --git a/web/pgadmin/misc/__init__.py b/web/pgadmin/misc/__init__.py index 0041e4a98..68d4381af 100644 --- a/web/pgadmin/misc/__init__.py +++ b/web/pgadmin/misc/__init__.py @@ -23,6 +23,8 @@ MODULE_NAME = 'misc' class MiscModule(PgAdminModule): + LABEL = gettext('Miscellaneous') + def get_own_javascripts(self): return [ { @@ -47,10 +49,6 @@ class MiscModule(PgAdminModule): """ Register preferences for this module. """ - self.misc_preference = Preferences( - 'miscellaneous', gettext('Miscellaneous') - ) - lang_options = [] for lang in config.LANGUAGES: lang_options.append( @@ -61,13 +59,39 @@ class MiscModule(PgAdminModule): ) # Register options for the User language settings - self.misc_preference.register( - 'miscellaneous', 'user_language', + self.preference.register( + 'user_language', 'user_language', gettext("User language"), 'options', 'en', category_label=gettext('User language'), options=lang_options ) + theme_options = [] + + for theme in config.THEMES: + theme_options.append({ + 'label': config.THEMES[theme]['disp_name'] + .replace('_', ' ') + .replace('-', ' ') + .title(), + 'value': theme, + 'preview_src': url_for( + 'static', filename='js/generated/img/' + + config.THEMES[theme]['preview_img'] + ) + }) + + self.preference.register( + 'themes', 'theme', + gettext("Theme"), 'options', 'standard', + category_label=gettext('Themes'), + options=theme_options, + help_str=gettext( + 'A refresh is required to apply the theme. Below is the ' + 'preview of the theme' + ) + ) + def get_exposed_url_endpoints(self): """ Returns: diff --git a/web/pgadmin/misc/bgprocess/static/scss/_bgprocess.scss b/web/pgadmin/misc/bgprocess/static/scss/_bgprocess.scss index 7821853e3..63f716135 100644 --- a/web/pgadmin/misc/bgprocess/static/scss/_bgprocess.scss +++ b/web/pgadmin/misc/bgprocess/static/scss/_bgprocess.scss @@ -5,7 +5,7 @@ $bgproc-container-pad: 2px; border: none; padding: 0px !important; text-align: left; - color: $color-fg-theme; + color: $color-fg; min-width: 500px; max-width: 500px; .card { diff --git a/web/pgadmin/misc/file_manager/static/css/file_manager.css b/web/pgadmin/misc/file_manager/static/css/file_manager.css index 669bca71d..1fc5bd374 100644 --- a/web/pgadmin/misc/file_manager/static/css/file_manager.css +++ b/web/pgadmin/misc/file_manager/static/css/file_manager.css @@ -56,12 +56,6 @@ /** Opera hack */ x:-o-prefocus, .file-input-container {top:16px;width:198px;} -@-moz-document url-prefix() { - .filepath { - padding:0.2em 0.3em; - } -} - /** Input file Replacement - end */ .file_listing #contents.grid { text-align: left; diff --git a/web/pgadmin/misc/file_manager/static/scss/_file_manager.scss b/web/pgadmin/misc/file_manager/static/scss/_file_manager.scss index f85bced82..6bd173dc9 100644 --- a/web/pgadmin/misc/file_manager/static/scss/_file_manager.scss +++ b/web/pgadmin/misc/file_manager/static/scss/_file_manager.scss @@ -105,7 +105,7 @@ .fm_folder_grid, .fm_file_grid, .fm_file_list { - color: $color-gray-darker; + color: $color-fg; } .fm_drive { @@ -130,20 +130,6 @@ wrap: no-wrap; } -.filepath { - background-color: $color-gray-lighter; - border: 1px solid $color-gray-lighter; - margin: 0; - padding: 0.1em 0.3em; - line-height: 1.7em; - -webkit-border-top-left-radius: 6px; - -webkit-border-bottom-left-radius: 6px; - -moz-border-radius-topleft: 6px; - -moz-border-radius-bottomleft: 6px; - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - .file_listing #contents.grid li { display: block; float: left; @@ -158,24 +144,6 @@ border: 1px solid $color-bg; } -.file_listing #contents.list thead { - background: $color-gray-lighter; /* Old browsers */ - background: -moz-linear-gradient(top, rgba($color-primary, 0.71) 0%, rgba($color-primary, 0.98) 100%); /* FF3.6+ */ - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba($color-primary, 0.71)), color-stop(100%,rgba($color-primary, 0.98))); /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, rgba($color-primary, 0.71) 0%,rgba($color-primary, 0.98) 100%); /* Chrome10+,Safari5.1+ */ - background: -o-linear-gradient(top, rgba($color-primary, 0.71) 0%,rgba($color-primary, 0.98) 100%); /* Opera 11.10+ */ - background: -ms-linear-gradient(top, rgba($color-primary, 0.71) 0%,rgba($color-primary, 0.98) 100%); /* IE10+ */ - background: linear-gradient(to bottom, rgba($color-primary, 0.71) 0%,rgba($color-primary, 0.98) 100%); - border-bottom: 1px solid $color-gray-lighter; - display: inline-block; - width: 100%; -} - -.btn-group.filemanager-btn-group .btn:not(:first-child):not(:last-child), -.btn-group.filemanager-path-group .btn:not(:first-child):not(:last-child) { - border-left: 1px solid $color-gray-light; -} - .file_manager { position: absolute; top: 0px; @@ -191,7 +159,7 @@ .file_manager #uploader .filemanager-path-group { padding: 0; display: block; - border: 1px solid $color-gray; + border: 1px solid $border-color; height: 30px; border-radius: 5px; -webkit-border-radius: 5px; @@ -207,7 +175,7 @@ } .file_manager #uploader .filemanager-btn-group { - border: 1px solid $color-gray; + border: 1px solid $border-color; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; @@ -222,12 +190,12 @@ .fileinfo .prompt-info { text-align: center; - color: $color-fg-theme; + color: $color-fg; } .allowed_file_types { border-top: $panel-border; - background: $color-bg-theme; + background: $color-bg; z-index: 5; padding: 0.25rem; } @@ -261,7 +229,7 @@ float: left; width: 100%; height: 21px !important; - border: 1px solid $color-gray-dark; + border: 1px solid $border-color; border-radius: 0 !important; -moz-border-radius: 0 !important; -webkit-border-radius: 0 !important; @@ -313,7 +281,7 @@ display: none; padding: 1rem; border-bottom: $panel-border; - background: $color-bg-theme; + background: $color-bg; position: absolute; top: 0; left: 0; @@ -322,7 +290,7 @@ } .upload_file .dz_cross_btn { - color: $color-fg-theme; + color: $color-fg; right: 0px; position: absolute; background: transparent; @@ -359,7 +327,7 @@ .file_selection_ctrl button.select_item { display: inline; - background: $color-bg-theme; + background: $color-bg; padding: 9px 0px 9px 0px; margin-left: 0px; margin-right: -7px; diff --git a/web/pgadmin/misc/static/explain/js/explain.js b/web/pgadmin/misc/static/explain/js/explain.js index 993ab5a00..e0aeb100c 100644 --- a/web/pgadmin/misc/static/explain/js/explain.js +++ b/web/pgadmin/misc/static/explain/js/explain.js @@ -1350,7 +1350,7 @@ define('pgadmin.misc.explain', [ // Main div to be drawn all images on var planDiv = $('<div></div>', { - class: 'pgadmin-explain-container p-3 w-100 h-100 overflow-auto', + class: 'pgadmin-explain-container w-100 h-100 overflow-auto', }).appendTo(graphicalContainer), // Div to draw tool-tip on toolTip = $('<div></div>', { diff --git a/web/pgadmin/misc/static/explain/scss/_explain.scss b/web/pgadmin/misc/static/explain/scss/_explain.scss index d812516cb..35cee5480 100644 --- a/web/pgadmin/misc/static/explain/scss/_explain.scss +++ b/web/pgadmin/misc/static/explain/scss/_explain.scss @@ -1,16 +1,12 @@ .pgadmin-explain-tooltip { position: absolute; opacity: 0; - color: $color-gray-lighter; - background-color: $color-gray-dark; + color: $popover-body-color; + background-color: $popover-bg; + border-color: $popover-border-color; + box-shadow: $popover-box-shadow; } -$explain-bg-color-2: #FFEE88; -$explain-bg-color-3: #EE8800; -$explain-bg-color-4: #880000; -$explain-fg-color-3: #FFFFFF; -$explain-fg-color-4: #FFFFFF; - .sql-editor-explain { .backform-tab { .tab-content { @@ -56,21 +52,21 @@ div.tab-pane[data-explain-tabpanel=table] { td.pga-ex-exclusive-2, td.pga-ex-inclusive-2, td.pga-ex-rowsx-2 { - background-color: $explain-bg-color-2; + background-color: $explain-sev-2-bg; } td.pga-ex-exclusive-3, td.pga-ex-inclusive-3, td.pga-ex-rowsx-3 { - background-color: $explain-bg-color-3; - color: $explain-fg-color-3; + background-color: $explain-sev-3-bg; + color: $explain-sev-3-color; } td.pga-ex-exclusive-4, td.pga-ex-inclusive-4, td.pga-ex-rowsx-4 { - background-color: $explain-bg-color-4; - color: $explain-fg-color-4; + background-color: $explain-sev-4-bg; + color: $explain-sev-4-color; } .pg-ex-subplans { @@ -141,3 +137,10 @@ div.tab-pane[data-explain-tabpanel=statistics] { } } } + +/* Setting it to hardcoded white as the SVG generated is having white bg + * Need to check what can be done. + */ +.pgadmin-explain-container { + background-color: #fff; +} diff --git a/web/pgadmin/preferences/static/js/preferences.js b/web/pgadmin/preferences/static/js/preferences.js index b047b13a1..3344ed388 100644 --- a/web/pgadmin/preferences/static/js/preferences.js +++ b/web/pgadmin/preferences/static/js/preferences.js @@ -242,10 +242,17 @@ define('pgadmin.preferences', [ // Convert the array to SelectControl understandable options. _.each(p.options, function(o) { if ('label' in o && 'value' in o) { - opts.push({ + let push_var = { 'label': o.label, 'value': o.value, - }); + }; + push_var['label'] = o.label; + push_var['value'] = o.value; + + if('preview_src' in o) { + push_var['preview_src'] = o.preview_src; + } + opts.push(push_var); if (o.value == p.value) has_value = true; } else { @@ -454,6 +461,7 @@ define('pgadmin.preferences', [ } if (e.button.text == gettext('Save')) { + let requires_refresh = false; preferences.updateAll(); /* Find the modules changed */ @@ -463,8 +471,27 @@ define('pgadmin.preferences', [ if(!modulesChanged[pref.module]) { modulesChanged[pref.module] = true; } + + if(pref.name == 'theme') { + requires_refresh = true; + } }); + if(requires_refresh) { + Alertify.confirm( + gettext('Refresh required'), + gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), + function() { + /* If user clicks Yes */ + location.reload(); + return true; + }, + function() {/* If user clicks No */ return true;} + ).set('labels', { + ok: gettext('Refresh'), + cancel: gettext('Later'), + }); + } // Refresh preferences cache pgBrowser.cache_preferences(modulesChanged); } diff --git a/web/pgadmin/static/img/drop_cascade.svg b/web/pgadmin/static/img/drop_cascade.svg deleted file mode 100644 index 24eb7947c..000000000 --- a/web/pgadmin/static/img/drop_cascade.svg +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> -<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" - viewBox="0 0 32 32" style="enable-background:new 0 0 32 32;" xml:space="preserve"> -<style type="text/css"> - .st0{fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:10;} -</style> -<g> - <g> - <line class="st0" x1="25.7" y1="22.4" x2="25.7" y2="9.4"/> - <polyline class="st0" points="29.7,18.6 25.7,22.6 21.7,18.6 "/> - </g> - <g> - <path d="M18.7,10.1C18.6,10,18.5,10,18.4,10h-3.6l-0.8-2c-0.1-0.3-0.3-0.5-0.6-0.7C13,7.1,12.7,7,12.4,7H8.6C8.3,7,8,7.1,7.7,7.3 - C7.4,7.5,7.2,7.8,7.1,8.1l-0.8,2H2.6c-0.1,0-0.2,0-0.3,0.1c-0.1,0.1-0.1,0.2-0.1,0.3v0.7c0,0.1,0,0.2,0.1,0.3 - c0.1,0.1,0.2,0.1,0.3,0.1h1.1v11.1c0,0.6,0.2,1.2,0.6,1.7C4.7,24.8,5.1,25,5.6,25h9.7c0.5,0,1-0.2,1.3-0.7c0.4-0.5,0.6-1,0.6-1.7 - V11.5h1.1c0.1,0,0.2,0,0.3-0.1c0.1-0.1,0.1-0.2,0.1-0.3v-0.7C18.8,10.3,18.7,10.2,18.7,10.1z M8.5,8.6c0.1-0.1,0.1-0.1,0.2-0.1 - h3.7c0.1,0,0.1,0.1,0.2,0.1l0.6,1.4H7.9L8.5,8.6z M15.8,22.6c0,0.2,0,0.3-0.1,0.5c-0.1,0.1-0.1,0.3-0.2,0.3 - c-0.1,0.1-0.1,0.1-0.1,0.1H5.6c0,0-0.1,0-0.1-0.1c-0.1-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.1-0.3-0.1-0.5V11.5h10.5V22.6z"/> - <path d="M13.1,21.2h0.7c0.1,0,0.2,0,0.3-0.1c0.1-0.1,0.1-0.2,0.1-0.3v-6.7c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.2-0.1-0.3-0.1h-0.7 - c-0.1,0-0.2,0-0.3,0.1c-0.1,0.1-0.1,0.2-0.1,0.3v6.7c0,0.1,0,0.2,0.1,0.3C12.9,21.2,13,21.2,13.1,21.2z"/> - <path d="M7.1,21.2h0.7c0.1,0,0.2,0,0.3-0.1c0.1-0.1,0.1-0.2,0.1-0.3v-6.7c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.2-0.1-0.3-0.1H7.1 - c-0.1,0-0.2,0-0.3,0.1c-0.1,0.1-0.1,0.2-0.1,0.3v6.7c0,0.1,0,0.2,0.1,0.3C6.9,21.2,7,21.2,7.1,21.2z"/> - <path d="M10.1,21.2h0.7c0.1,0,0.2,0,0.3-0.1c0.1-0.1,0.1-0.2,0.1-0.3v-6.7c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.2-0.1-0.3-0.1h-0.7 - c-0.1,0-0.2,0-0.3,0.1c-0.1,0.1-0.1,0.2-0.1,0.3v6.7c0,0.1,0,0.2,0.1,0.3C9.9,21.2,10,21.2,10.1,21.2z"/> - </g> -</g> -</svg> diff --git a/web/pgadmin/static/img/load-node.gif b/web/pgadmin/static/img/load-node.gif deleted file mode 100644 index 500fa0860e2eb9883f86c30da579008475f596c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1728 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 Dm!B`= diff --git a/web/pgadmin/static/img/loader-small.svg b/web/pgadmin/static/img/loader-small.svg new file mode 100644 index 000000000..dc5faaf40 --- /dev/null +++ b/web/pgadmin/static/img/loader-small.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 38 38" style="enable-background:new 0 0 38 38;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#EBEEF3;stroke-width:5;} + .st1{fill:none;stroke:#326690;stroke-width:5;} +</style> +<g> + <g transform="translate(1 1)"> + <circle class="st0" cx="18" cy="18" r="16"/> + <path class="st1" d="M34,18c0-8.8-7.2-16-16-16 "> +<animateTransform accumulate="none" additive="replace" attributeName="transform" calcMode="linear" dur="0.7s" fill="remove" from="0 18 18" repeatCount="indefinite" restart="always" to="360 18 18" type="rotate"> + </animateTransform> + </path> + </g> +</g> +</svg> diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index a03ac7cac..4d9aa9155 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -2065,6 +2065,11 @@ define([ $(this.$sel).append($element); $(this.$sel).trigger('change'); } + + let new_value = _.findWhere(this.field.get('options'), {value: evt.params.data.id}); + if(new_value.preview_src) { + this.$el.find('.preview-img img').attr('src', new_value.preview_src); + } }, formatter: Select2Formatter, @@ -2090,6 +2095,14 @@ define([ ' <% if (helpMessage && helpMessage.length) { %>', ' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>', ' <% } %>', + ' <% for (var i=0; i < options.length; i++) {%>', + ' <% var option = options[i]; %>', + ' <% if (option.preview_src && option.value === rawValue) { %>', + ' <div class="preview-img mt-2">', + ' <img src="<%=option.preview_src%>" class="img-fluid mx-auto d-block w-50 border" alt="'+gettext('Preview not available...')+'">', + ' </div>', + ' <%}%>', + ' <%}%>', '</div>', ].join('\n')), render: function() { diff --git a/web/pgadmin/static/js/sqleditor_utils.js b/web/pgadmin/static/js/sqleditor_utils.js index fde7283b0..d305f4779 100644 --- a/web/pgadmin/static/js/sqleditor_utils.js +++ b/web/pgadmin/static/js/sqleditor_utils.js @@ -135,7 +135,7 @@ define(['jquery', 'underscore', 'sources/gettext', 'sources/url_for'], if(sqlEditorUtils.previousStatus != status && !$status_el.hasClass('fa-query_tool_connected')) { $status_el.removeClass() - .addClass('fa-custom fa-query-tool-connected'); + .addClass('pg-font-icon icon-query-tool-connected'); is_status_changed = true; } } @@ -153,10 +153,10 @@ define(['jquery', 'underscore', 'sources/gettext', 'sources/url_for'], msg = gettext('An unexpected error occurred - ' + 'ensure you are logged into the application.'); $el.attr('data-content', msg); - if(!$status_el.hasClass('fa-query-tool-disconnected')) { + if(!$status_el.hasClass('icon-query-tool-disconnected')) { $el.popover('hide'); $status_el.removeClass() - .addClass('fa-custom fa-query-tool-disconnected'); + .addClass('pg-icon-font icon-query-tool-disconnected'); } } }) @@ -173,10 +173,10 @@ define(['jquery', 'underscore', 'sources/gettext', 'sources/url_for'], // Set bootstrap popover $el.attr('data-content', msg); // Add error class - if(!$status_el.hasClass('fa-query-tool-disconnected')) { + if(!$status_el.hasClass('icon-query-tool-disconnected')) { $el.popover('hide'); $status_el.removeClass() - .addClass('fa-custom fa-query-tool-disconnected'); + .addClass('pg-font-icon icon-query-tool-disconnected'); } }); }, diff --git a/web/pgadmin/static/scss/_aci_tree.overrides.scss b/web/pgadmin/static/scss/_aci_tree.overrides.scss index 8b7b6683b..806798065 100644 --- a/web/pgadmin/static/scss/_aci_tree.overrides.scss +++ b/web/pgadmin/static/scss/_aci_tree.overrides.scss @@ -1,3 +1,19 @@ +.tree-icon-right:before { + font-family: $font-family-icon; + content: "\f054" !important; + right: 15px; + top: 3px; + font-size: 0.6rem; + line-height: 2; + border-style: none; +} + +.aciTree { + & .aciTreeButton, & .aciTreePush, & .aciTreeItem, & .aciTreeIcon, & .aciTreeText, & .aciTreeColumn { + color: $color-fg; + } +} + .aciTree .aciTreeLi { display: grid !important; cursor: pointer; @@ -6,13 +22,9 @@ font-family: $font-family-primary; font-size: 0.815rem; } -.aciTree.aciTreeFocus .aciTreeFocus > .aciTreeLine { - background-color: $color-primary-light !important; - border-right: $active-border !important; -} .aciTree .aciTreeSelected > .aciTreeLine { - background-color: $color-primary-light !important; + background-color: $tree-bg-selected !important; border-color: $color-primary-light; border-right: $active-border !important; border-left: none !important; @@ -21,13 +33,15 @@ -webkit-border-radius: none !important; -moz-border-radius: none !important; border-radius: none !important; -} -.aciTree .aciTreeSelected > .aciTreeLine .aciTreeItem { - background-color: $color-primary-light; - border: 1px solid transparent; - -webkit-border-radius: none !important; - -moz-border-radius: none !important; - border-radius: none !important; + + & .aciTreeItem { + background-color: $tree-bg-selected; + border: 1px solid transparent; + -webkit-border-radius: none !important; + -moz-border-radius: none !important; + border-radius: none !important; + color: $tree-fg-selected; + } } .aciTree .aciTreeItem { white-space: nowrap !important; @@ -36,31 +50,45 @@ background: none; } .aciTree .aciTreeLine.aciTreeHover { - background-color: $color-gray-light; - -webkit-border-radius: none !important; - -moz-border-radius: none !important; - border-radius: none !important; -} -.aciTree .aciTreeLine.aciTreeHover .aciTreeItem { - background-color: $color-gray-light; - border: 1px solid transparent; + background-color: $tree-bg-hover; -webkit-border-radius: none !important; -moz-border-radius: none !important; border-radius: none !important; + & .aciTreeItem { + background-color: inherit; + border: 1px solid transparent; + -webkit-border-radius: none !important; + -moz-border-radius: none !important; + border-radius: none !important; + color: $tree-fg-hover; + } } -.aciTree.aciTreeFocus .aciTreeSelected >.aciTreeLine .aciTreeItem { - background-color: $color-primary-light; -} -.aciTree.aciTreeFocus .aciTreeFocus >.aciTreeLine .aciTreeItem, -.aciTree.aciTreeFocus .aciTreeSelected.aciTreeFocus >.aciTreeLine .aciTreeItem { - border: 1px solid transparent; + +.aciTree.aciTreeFocus { + + & .aciTreeFocus > .aciTreeLine { + background-color: $tree-bg-selected !important; + border-right: $active-border !important; + } + + & .aciTreeSelected >.aciTreeLine .aciTreeItem { + background-color: $tree-bg-selected; + } + + & .aciTreeFocus >.aciTreeLine .aciTreeItem, + & .aciTreeSelected.aciTreeFocus >.aciTreeLine .aciTreeItem { + border: 1px solid transparent; + color: $tree-fg-selected; + } } + .aciTree .aciTreeButton { background: none; } .aciTree .aciTreePush { - width: 30px; - background: url(../img/collapse_expand.svg) 12px 7px no-repeat; + background: none; + text-align: center; + font-size: 0.85em; } .aciTree .aciTreeEntry, .aciTree .aciTreeBranch, @@ -68,11 +96,41 @@ overflow:hidden; background: none !important; } -.aciTree .aciTreeInode >.aciTreeLine .aciTreePush, -.aciTree .aciTreeInode >.aciTreeLine .aciTreePush.aciTreeHover { - background-position: 6px center !important; + + +.aciTree .aciTreeInode>.aciTreeLine .aciTreePush { + &:before, + &.aciTreeHover:before { + background-position: 6px center !important; + font-family: $font-family-icon; + content: "\f054" !important; + border-style: none; + margin-left: 5px; + } +} + +.aciTree .aciTreeLoad>.aciTreeLine .aciTreePush { + &:before, + &.aciTreeHover:before { + content: " " !important; + } } -.aciTree .aciTreeOpen >.aciTreeLine .aciTreePush, -.aciTree .aciTreeOpen >.aciTreeLine .aciTreePush.aciTreeHover { - background-position: -14px center !important; + +.aciTree .aciTreeOpen >.aciTreeLine .aciTreePush { + &:before, + &.aciTreeHover:before { + background-position: -14px center !important; + font-family: $font-family-icon; + content: "\f078" !important; + border-style: none; + margin-left: 5px; + } +} + +.aciTree .aciTreePush>span { + width: 15px; + height: 15px; + left: 2px; + background: $loader-icon-small 0 0 no-repeat; + background-color: inherit!important; } diff --git a/web/pgadmin/static/scss/_alert.scss b/web/pgadmin/static/scss/_alert.scss index f5082c37b..3f2e561e3 100644 --- a/web/pgadmin/static/scss/_alert.scss +++ b/web/pgadmin/static/scss/_alert.scss @@ -49,7 +49,7 @@ .alert-info { border-color: $color-primary; background-color: $color-primary-light; - color : $color-fg-theme; + color : $color-fg; background-image: none; } diff --git a/web/pgadmin/static/scss/_alertify.overrides.scss b/web/pgadmin/static/scss/_alertify.overrides.scss index 0c579dd6a..0063d565f 100644 --- a/web/pgadmin/static/scss/_alertify.overrides.scss +++ b/web/pgadmin/static/scss/_alertify.overrides.scss @@ -23,6 +23,11 @@ } } + .ajs-body { + background-color: $color-bg !important; + color: $color-fg !important; + } + &.ajs-resizable, &.ajs-maximized { & .ajs-body { @@ -64,6 +69,8 @@ padding: 0; min-height: $footer-min-height; border-top: $panel-border; + background-color: $color-bg !important; + color: $color-fg !important; & .ajs-buttons { border: none; border-radius: 0rem; @@ -115,6 +122,8 @@ border: $panel-border; border-radius: $panel-border-radius; box-shadow: $dialog-box-shadow; + background-color: $color-bg !important; + color: $color-fg !important; } .ajs-content { padding-left: 0 !important; diff --git a/web/pgadmin/static/scss/_backgrid.overrides.scss b/web/pgadmin/static/scss/_backgrid.overrides.scss index 47915bb8e..c929ddd45 100644 --- a/web/pgadmin/static/scss/_backgrid.overrides.scss +++ b/web/pgadmin/static/scss/_backgrid.overrides.scss @@ -80,8 +80,8 @@ .backgrid thead td, .backgrid thead th{ - background: $color-bg-theme; - background-color: $color-bg-theme !important; + background: $color-bg; + background-color: $color-bg !important; text-align: left; } @@ -147,7 +147,7 @@ span.form-control:disabled { .subnode { border: $panel-border; - background: $color-bg-theme; + background: $color-bg; } .subnode-noouter-border { @@ -203,8 +203,8 @@ span.form-control:disabled { } .subnode-header { - background-color: $color-bg-theme; - color: $color-fg-theme; + background-color: $color-bg; + color: $color-fg; border-bottom: $panel-border; } @@ -240,7 +240,7 @@ span.form-control:disabled { } fieldset.inline-fieldset { - background: $color-bg-theme; + background: $color-bg; } } .subnode-footer { @@ -289,7 +289,7 @@ table.backgrid { } & td.editor { - background-color: $color-bg-theme !important; + background-color: $color-bg !important; } & td.edit-cell.editor:focus { diff --git a/web/pgadmin/static/scss/_bootstrap.overrides.scss b/web/pgadmin/static/scss/_bootstrap.overrides.scss index 3b2df9fd6..0b61787e2 100644 --- a/web/pgadmin/static/scss/_bootstrap.overrides.scss +++ b/web/pgadmin/static/scss/_bootstrap.overrides.scss @@ -226,12 +226,6 @@ legend { } } -/* Override default bootstrap popover fonts & size */ -.popover-content { - font-family: $font-family-primary; - font-size: 13px; -} - .switch-cell { height: 0px; width: 0px; @@ -252,10 +246,10 @@ td.switch-cell > div.toggle { & .nav-link { border: none !important; padding: $tabs-padding; - color: $color-fg-theme; + color: $color-fg; &.active { border-bottom: $active-border !important; - color: $color-primary; + color: $active-color; } } } @@ -313,7 +307,7 @@ td.switch-cell > div.toggle { .btn-group label.btn.btn-primary.active { background-color: $color-primary-light; - color: $color-primary; + color: $color-primary-light-fg; } .btn-group.pgadmin-controls-radio-none.disabled { diff --git a/web/pgadmin/static/scss/_codemirror.overrides.scss b/web/pgadmin/static/scss/_codemirror.overrides.scss index 27e028b75..2857455be 100644 --- a/web/pgadmin/static/scss/_codemirror.overrides.scss +++ b/web/pgadmin/static/scss/_codemirror.overrides.scss @@ -1,6 +1,3 @@ -.cm-s-default .CodeMirror { - background: $color-editor-bg; -} /* To override inbuilt Green color for matchingbracket */ .cm-s-default .CodeMirror-matchingbracket { color: $sql-bracket-match-fg !important; @@ -10,6 +7,8 @@ .CodeMirror { font-size: 1em; font-family: monospace, monospace; + background-color: $color-editor-bg; + color: $color-editor-fg; } /* Ensure the codemirror editor displays full height gutters when resized */ @@ -39,14 +38,34 @@ } /* make syntax-highlighting bold */ -.cm-s-default .cm-keyword { - font-weight: 600; - color: $color-editor-keyword; -} - -.cm-s-default .cm-number { - font-weight: 600; - color: $color-editor-number; +.cm-s-default { + & .cm-quote {color: #090;} + & .cm-keyword {color: $color-editor-keyword; font-weight: 600;} + & .cm-atom {color: $color-editor-fg;} + & .cm-number {color: $color-editor-number; font-weight: 600;} + & .cm-def {color: $color-editor-fg;} + & .cm-punctuation, + & .cm-property, + & .cm-operator { color: $color-editor-operator; } + & .cm-variable {color: $color-editor-variable; } + & .cm-variable-2, + & .cm-variable-3, + & .cm-type {color: $color-editor-variable-2;} + & .cm-comment {color: $color-editor-comment;} + & .cm-string {color: $color-editor-string;} + & .cm-string-2 {color: $color-editor-string;} + & .cm-meta {color: $color-editor-fg;} + & .cm-qualifier {color: $color-editor-fg;} + & .cm-builtin {color: $color-editor-builtin;} + & .cm-bracket {color: $color-editor-bracket;} + & .cm-tag {color: $color-editor-fg;} + & .cm-attribute {color: $color-editor-fg;} + & .cm-hr {color: $color-editor-fg;} + & .cm-link {color: $color-editor-fg;} + + & .CodeMirror-cursor { + border-color: $color-editor-fg; + } } /* Codemirror buttons */ @@ -84,7 +103,7 @@ } .CodeMirror-linenumber { - color: $color-fg-theme; + color: $color-fg; } .debugger-container .breakpoints { diff --git a/web/pgadmin/static/scss/_pgadmin.style.scss b/web/pgadmin/static/scss/_pgadmin.style.scss index 7a6768b8d..53aeddf8b 100644 --- a/web/pgadmin/static/scss/_pgadmin.style.scss +++ b/web/pgadmin/static/scss/_pgadmin.style.scss @@ -90,6 +90,7 @@ .panel-link-heading:hover { text-decoration: none; + color: inherit; } .nav .open > a, .nav .open > a:hover, .nav .open > a:focus { @@ -97,7 +98,7 @@ } #navbar-user { - font-size: $navbar-user-font-size; + font-size: 0.9em; } @@ -143,19 +144,12 @@ .pg-navbar { font-size: $navbar-font-size; - background-color: $navbar-color-bg; + background-color: $navbar-bg; padding-left: 0rem; padding-right: 0.5rem; & .nav-item .nav-link{ line-height: 1; } - - .pg-navbar-brand-arrow { - border: $navbar-height/2 solid $navbar-brand-arrow-bg; - border-right-color: transparent; - border-bottom-color: transparent; - border-top-color: transparent; - } } @@ -192,7 +186,7 @@ &.pg-prop-btn-group-below { text-align: right; padding: $footer-padding; - background: $color-bg-theme; + background: $color-bg; border-top: $panel-border; } } @@ -407,9 +401,9 @@ padding: 0rem; border: $panel-border; border-radius: $card-border-radius; - background-color: $color-bg-theme; + background-color: $color-bg; fieldset.inline-fieldset { - background: $color-bg-theme; + background: $color-bg; } } @@ -548,7 +542,8 @@ fieldset.inline-fieldset > div { .dashboard-tab-container, .pg-panel-statistics-container, -.pg-panel-depends-container, +.pg-panel-dependencies-container, +.pg-panel-dependents-container, .pg-prop-coll-container, { width: 100%; overflow: auto; @@ -561,7 +556,7 @@ fieldset.inline-fieldset > div { left: 0px; right: 0px; top : 0px; - background-color: $color-bg-theme; + background-color: $color-bg; } /* Overrides/fixes for pgAdmin specific styling */ @@ -733,7 +728,7 @@ table tr th { & button { background: none; border: none; - color: $color-fg-theme; + color: $color-fg; padding: 0; } & button:focus { @@ -843,11 +838,11 @@ body { } .pg-el-container { - background-color: $color-gray-lighter; + background-color: $negative-bg; } .nav-tabs { - background-color: $color-bg-theme; + background-color: $color-bg; } .editor-toolbar { @@ -967,18 +962,6 @@ table.table-empty-rows{ background-size: 28px 28px; } } -.icon-delete_multiple_cascade { - display: inline-block; - align-content: center; - vertical-align: middle; - height: 17px; - width: 22px; - background-image: url(/static/img/drop_cascade.svg) !important; - background-size: 25px !important; - background-repeat: no-repeat; - background-position-x: center; - background-position-y: center; -} .pgadmin-controls-radio-none { & input[type="radio"] { @@ -1031,3 +1014,23 @@ table.table-empty-rows{ border-radius: $input-border-radius; padding: $input-btn-padding-y $input-btn-padding-x; } + +::placeholder { + color: $input-placeholder-color; +} + +.pg-font-icon { + &:before { + font-style: normal; + font-weight: normal; + font-stretch: normal; + font-size: 100%; + line-height: 1; + vertical-align: middle; + } +} + +textarea { + color: $input-color; + background-color: $input-bg; +} diff --git a/web/pgadmin/static/scss/_select2.overrides.scss b/web/pgadmin/static/scss/_select2.overrides.scss index f0e4e7e68..d94d064af 100644 --- a/web/pgadmin/static/scss/_select2.overrides.scss +++ b/web/pgadmin/static/scss/_select2.overrides.scss @@ -1,6 +1,22 @@ -.select2-container--default .select2-results__option--highlighted[aria-selected] { - background-color: $color-primary-light; - color: $color-gray-dark; +.select2-dropdown { + background-color: $input-bg; + color: $input-color; +} + +.select2-container--default .select2-results__option--highlighted[aria-selected], +.select2-container--default .select2-results__option[aria-selected=true] { + background-color: $dropdown-link-hover-bg; + color: $dropdown-link-hover-color; +} + +.select2-container--default .select2-selection--multiple { + background-color: $input-bg; + color: $input-color; +} + +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: $dropdown-link-hover-bg; + color: $dropdown-link-hover-color; } .select2-container--default .select2-search--inline .select2-search__field { @@ -11,6 +27,11 @@ width: 100% !important; } +.select2-container--default .select2-search__field { + background-color: $input-bg; + color: $input-color; +} + .renderable > .select2-container { width: 100% !important; } @@ -18,10 +39,12 @@ .select2-container .select2-selection--single { height: auto; min-height: 28px; + background-color: $input-bg; & .select2-selection__rendered{ line-height: inherit; padding: $input-padding-y $input-padding-x; padding-right: 1.5rem; + color: $input-color; } } diff --git a/web/pgadmin/static/scss/_webcabin.pgadmin.scss b/web/pgadmin/static/scss/_webcabin.pgadmin.scss index 5c0ff69a8..91dfb57d2 100644 --- a/web/pgadmin/static/scss/_webcabin.pgadmin.scss +++ b/web/pgadmin/static/scss/_webcabin.pgadmin.scss @@ -1,30 +1,30 @@ .wcDocker { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcModalBlocker { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcPanelBackground { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcPanelBackground .wcCenter { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcFrameFlasher { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcFrameShadower { - background-color: $color-bg-theme; + background-color: $color-bg; } .wcFrameTitleBar { height: $title-height; - background-color: $color-bg-theme; + background-color: $color-bg; border-bottom: $panel-border; } @@ -43,7 +43,7 @@ .wcFrameButton.disabled { pointer-events: none; - color: $color-gray; + opacity: $btn-disabled-opacity; } .wcFrameButton .fa { @@ -52,7 +52,7 @@ .wcFrameButtonBar { height: $title-height; - background-color: $color-bg-theme; + background-color: $color-bg; border-bottom: $panel-border; padding: 0rem 0.25rem; @@ -80,13 +80,13 @@ } .wcPanelTab, .wcFrameTitle{ - color: $color-fg-theme; + color: $color-fg; padding: $tabs-padding; margin: 0px; } .wcFloating { - box-shadow: $box-shadow; + box-shadow: $dialog-box-shadow; z-index: 1050 !important; &.wcFrame, & .wcPanelBackground { @@ -152,7 +152,7 @@ .wcFloating .wcPanelTabActive { border-bottom: none; - color: $color-fg-theme; + color: $color-fg; font-weight: bold; } @@ -162,7 +162,7 @@ .wcFloating .wcFrameTitleBar { height: $title-height; - background-color: $color-bg-theme; + background-color: $color-bg; border-bottom: $panel-border; } @@ -182,7 +182,7 @@ .wcPanelTabActive { border-bottom: $active-border; - color: $color-primary; + color: $active-color; } .wcFrameEdge { diff --git a/web/pgadmin/static/scss/pgadmin.scss b/web/pgadmin/static/scss/pgadmin.scss index d2d5e9022..890f5082b 100644 --- a/web/pgadmin/static/scss/pgadmin.scss +++ b/web/pgadmin/static/scss/pgadmin.scss @@ -1,6 +1,3 @@ -@import './resources/pgadmin.resources.scss'; - - $theme-colors: ( "primary": $color-primary, "danger": $color-danger, diff --git a/web/pgadmin/static/scss/resources/_default.style.scss b/web/pgadmin/static/scss/resources/_default.style.scss index f90fe47ad..4a0bd9192 100644 --- a/web/pgadmin/static/scss/resources/_default.style.scss +++ b/web/pgadmin/static/scss/resources/_default.style.scss @@ -60,10 +60,6 @@ &-dark { background-color: $color-gray-dark; } - - &-darker { - background-color: $color-gray-darker; - } } /* Borders */ @@ -113,10 +109,6 @@ &-dark { border: 2px solid $color-gray-dark; } - - &-darker { - border: 2px solid $color-gray-darker; - } } /* Typography */ @@ -167,3 +159,13 @@ .text-semibold { font-family: $font-family-semibold; } + +.not-selectable { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + ms-user-select: none; + user-select: none; + cursor: default; +} diff --git a/web/pgadmin/static/scss/resources/_default.variables.scss b/web/pgadmin/static/scss/resources/_default.variables.scss index 55507a33d..f09b11fb1 100644 --- a/web/pgadmin/static/scss/resources/_default.variables.scss +++ b/web/pgadmin/static/scss/resources/_default.variables.scss @@ -1,5 +1,5 @@ /** Dividing a pixel var with 1px or rem var with 1rem removes the unit px/rem **/ -$enable-flex: true !default; +$enable-flex: true ; $white: #fff; $black: #000; @@ -7,72 +7,65 @@ $black: #000; $color-bg: $white !default; $color-fg: #222222 !default; -$color-bg-theme: $white !default; -$color-fg-theme: #222222 !default; - $color-primary: #326690 !default; $color-primary-fg: $white !default; $color-primary-light: #d6effc !default; +$color-primary-light-fg: $color-primary !default; $color-primary-dark: #295c85 !default; $color-secondary: $white !default; $color-danger: #e53935 !default; $color-danger-fg: $white !default; -$color-danger-light: #F39999; -$color-danger-lighter: #FAECEC; +$color-danger-light: #F39999 !default; +$color-danger-lighter: #F39999 !default; $color-success: #43a047 !default; $color-success-fg: $black !default; -$color-success-light: #DDF1DE; +$color-success-light: #DDF1DE !default; $color-warning: #eea236 !default; $color-warning-fg: $black !default; -$color-warning-light: #fce5c5; +$color-warning-light: #fce5c5 !default;; -$color-gray-darker: #5b6d7c; -$color-gray-dark: #848ea0; -$color-gray: #bac1cd; -$color-gray-light: #ebeef3; -$color-gray-lighter: #f3f5f9; +$color-gray-dark: #848ea0 !default; +$color-gray: #bac1cd !default; +$color-gray-light: #ebeef3 !default; +$color-gray-lighter: #f3f5f9 !default; $color-brand: $white !default; -$color-editor-bg: $color-bg !default; -$color-editor-keyword: #908 !default; -$color-editor-number: #964 !default; -$color-editor-foldmarker: #0000FF !default; -$color-editor-activeline: #50B0F0 !default; /* Typography */ -$font-family-primary: "Roboto", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; -$font-family-semibold: "Roboto Medium" !default; -$font-family-editor: "Source Code Pro", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; -$font-family-icon: "FontAwesome" !default; +$font-family-primary: "Roboto", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +$font-family-semibold: "Roboto Medium"; +$font-family-editor: "Source Code Pro", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +$font-family-icon: "FontAwesome"; $border-width: 1px; -$border-color: #dde0e6; +$border-color: #dde0e6 !default; $border-color-dark: $color-gray; -$box-shadow: 0 0.5rem 3rem $color-gray-dark; - -/** Bootstrap Variable Changes **/ -$font-family-monospace: $font-family-editor !default; -$font-family-base: $font-family-primary !default; -$gray-600: $color-gray-dark; -$gray-900: $color-fg-theme; -$body-color: $color-fg-theme; + +$shadow-base-color: $color-gray-dark !default; + +$font-family-monospace: $font-family-editor; +$font-family-base: $font-family-primary; +$body-color: $color-fg; $font-size-base: 0.875rem; -$line-height-base: 1.5; // no change +$line-height-base: 1.5; $text-height-calc: $line-height-base*$font-size-base/1rem; $grid-gutter-width: 15px; -$border-radius: 0.25rem; //no change +$border-radius: 0.25rem; -$text-color: $color-fg-theme; -$text-muted: $color-gray-dark; +$text-muted: $color-gray-dark !default; -$navbar-dark-color: #fff; -$navbar-dark-hover-color: #fff; -$navbar-dark-active-color: #fff; +$navbar-bg: $color-primary; +$navbar-font-size: 0.925rem; +$navbar-height: 32px; +$navbar-dropdown-top: 100%; +$navbar-dark-color: $color-primary-fg; +$navbar-dark-hover-color: $color-primary-fg; +$navbar-dark-active-color: $color-primary-fg; $navbar-dark-disabled-color: $color-gray; $navbar-toggler-padding-y: 0.25rem; //no-change @@ -80,16 +73,25 @@ $navbar-toggler-padding-y: 0.25rem; //no-change $form-group-margin-bottom: 0.5rem; $btn-active-box-shadow: none; -$dropdown-link-hover-color: $white; +$dropdown-bg: $color-bg; +$dropdown-color: $color-fg; +$dropdown-link-color: $color-fg; +$dropdown-link-hover-color: $color-primary-fg; $dropdown-link-hover-bg: $color-primary; $dropdown-border-color: $border-color; -$dropdown-box-shadow: 0 0.125rem 0.5rem rgba($color-gray-dark, .175); +$dropdown-box-shadow: 0 0.125rem 0.5rem rgba($shadow-base-color, .275); $dropdown-divider-bg: $dropdown-border-color; $dropdown-padding-y: 0.25rem; $dropdown-item-padding-x: 1rem; $dropdown-spacer: .125rem; //no-change +$dropdown-link-disabled-color: $text-muted; $nav-divider-margin-y: .25rem; +$popover-bg: $color-gray-dark !default; +$popover-body-color: $white !default; +$popover-border-color: $dropdown-border-color; +$popover-box-shadow: $dropdown-box-shadow; + $input-btn-focus-width: 0.1rem; $btn-disabled-opacity: 0.5; $btn-transition: color .05s ease-in-out, background-color .05s ease-in-out, border-color .05s ease-in-out, box-shadow .05s ease-in-out; @@ -98,9 +100,8 @@ $card-spacer-y: 0rem; $card-spacer-x: 0rem; $card-border-radius: $border-radius; $card-border-color: $border-color; -$card-cap-bg: $color-bg-theme; -$card-bg: $color-bg-theme; - +$card-cap-bg: $color-bg; +$card-bg: $color-bg; $navbar-padding-y: 0rem; $navbar-padding-x: 0rem; @@ -122,36 +123,50 @@ $table-cell-padding: 0.25rem; $table-header-cell-padding: 0.75rem; $table-hover-bg: none; //we will use our own classes $table-active-bg: $color-primary-light; -$table-border-width: $border-width !default; -$table-border-color: $border-color !default; -$table-head-bg: $color-primary !default; -$table-head-color: $color-primary-fg !default; - -$input-bg: $white; //no change -$input-color: $color-fg-theme; +$table-border-width: $border-width; +$table-border-color: $border-color; +$table-head-bg: $color-primary; +$table-head-color: $color-primary-fg; + +$input-bg: $white !default; +$input-color: $color-fg !default; +$input-placeholder-color: $text-muted; $input-border-color: $border-color; -$input-border-radius: $border-radius; //no change -$input-disabled-bg: $color-gray-lighter; -$input-btn-border-width: $border-width; //no change -$input-border-width: $input-btn-border-width; //no change +$input-border-radius: $border-radius; +$input-disabled-bg: $color-gray-lighter !default; +$input-btn-border-width: $border-width; +$input-border-width: $input-btn-border-width; $input-btn-padding-y: .25rem; -$input-btn-padding-x: .75rem; //no change - -$component-active-bg: $color-primary; //no change -$input-btn-focus-width: .2rem !default; //no change -$input-btn-focus-color: rgba($component-active-bg, .25) !default; //no change -$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default; //no change -$input-focus-bg: $input-bg !default; //no change -$input-focus-border-color: lighten($component-active-bg, 25%) !default; //no change -$input-focus-color: $input-color !default; //no change -$input-focus-width: $input-btn-focus-width !default; //no change -$input-focus-box-shadow: $input-btn-focus-box-shadow !default; //no change - -$btn-border-radius: $border-radius; //no change - -/***************/ +$input-btn-padding-x: .75rem; + +$component-active-bg: $color-primary; +$input-btn-focus-width: .2rem; +$input-btn-focus-color: rgba($component-active-bg, .25); +$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color; +$input-focus-bg: $input-bg; +$input-focus-border-color: lighten($component-active-bg, 25%); +$input-focus-color: $input-color; +$input-focus-width: $input-btn-focus-width; +$input-focus-box-shadow: $input-btn-focus-box-shadow; + +$btn-border-radius: $border-radius; + +$color-editor-fg: $input-color !default; +$color-editor-bg: $input-bg; +$color-editor-keyword: #908 !default; +$color-editor-number: #964 !default; +$color-editor-string: #a11 !default; +$color-editor-variable: $color-fg !default; +$color-editor-variable-2: #05a !default; +$color-editor-builtin: #30a !default; +$color-editor-comment: #a50 !default; +$color-editor-bracket: #997 !default; +$color-editor-operator: $color-fg !default; +$color-editor-foldmarker: #0000FF !default; +$color-editor-activeline: #50B0F0 !default; -$active-border: 3px solid $color-primary; +$active-color: $color-primary !default; +$active-border: 3px solid $active-color; $panel-border-width: $border-width; $panel-border-color: $border-color; $panel-border-radius: $border-radius; @@ -166,42 +181,51 @@ $footer-height-calc: $footer-min-height+$footer-padding*2; // ($splitter-hover-width - $panel-border-width) should be even number to split evenly. $splitter-hover-width: 7px; -$navbar-brand-bg: #222222; //place image url if image -$navbar-brand-arrow-bg: #222222; -$navbar-color-bg: $color-primary; -$navbar-font-size: 0.925rem; -$navbar-user-font-size: 0.875rem; - -$navbar-height: 32px; -$navbar-dropdown-top: 100%; $dropdown-submenu-top: -$dropdown-spacer; -$table-bg: $color-bg-theme; +$table-bg: $color-bg; $table-bg-selected: $color-primary-light; $table-hover-border-color: $color-primary; $table-hover-border: $panel-border-width solid $color-primary !important; $table-hover-bg-color: $color-primary-light; $datagrid-bg: $color-gray-light; +$tree-fg-hover: $color-fg; +$tree-bg-hover: $color-gray-lighter; +$tree-fg-selected: $color-fg; +$tree-bg-selected: $color-primary-light; + +$sql-grid-data-cell-fg: $input-color; +$sql-grid-data-cell-bg: $input-bg; +$sql-grid-title-cell-fg: $input-color; +$sql-grid-title-cell-bg: $input-bg; + $sql-title-padding: 3px; -$sql-title-bg: $color-gray-darker; +$sql-title-bg: #5b6d7c; $sql-title-fg: $white; // Toolbar + editor title heights + title bottom border $sql-editor-panel-top: $title-height + $text-height-calc*16px + $sql-title-padding*2 + $panel-border-width; $sql-gutters-bg: $color-gray-light; $sql-history-detail-bg: $color-gray-lighter; $sql-history-success-bg: $color-primary-light; -$sql-history-success-fg: $color-primary; +$sql-history-success-fg: $active-color; $sql-history-error-bg: $color-danger-lighter; $sql-history-error-fg: $color-danger; -$sql-hint-bg: $color-bg-theme; +$sql-hint-bg: $color-bg; $sql-hint-active-bg: $color-primary; $sql-hint-active-fg: $white; -$sql-bracket-match-fg: $color-gray-darker; +$sql-bracket-match-fg: #5b6d7c; $sql-bracket-match-bg: #f5d2af; -$negative-bg: $color-gray-light; -$dialog-box-shadow: $box-shadow; +/* For explain analysis */ +$explain-sev-2-bg: #FFEE88 !default; +$explain-sev-3-bg: #EE8800 !default; +$explain-sev-4-bg: #880000 !default; +$explain-sev-3-color: #FFFFFF !default; +$explain-sev-4-color: #FFFFFF !default; + +$negative-bg: $color-gray-light !default; +$dialog-box-shadow: 0 0.5rem 3rem $shadow-base-color; $alert-icon-color: $white; $alertify-borderremove-margin: $panel-border-width; @@ -221,3 +245,4 @@ $loading-bg : rgba($black,0.6); $loading-fg : $white; $loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%23326690;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; +$loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%23326690;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; diff --git a/web/pgadmin/static/scss/resources/_pgadmin.variables.scss b/web/pgadmin/static/scss/resources/_pgadmin.variables.scss deleted file mode 100644 index e69de29bb..000000000 diff --git a/web/pgadmin/static/scss/resources/_theme.variables.scss.sample b/web/pgadmin/static/scss/resources/_theme.variables.scss.sample new file mode 100644 index 000000000..a7dd8b4b8 --- /dev/null +++ b/web/pgadmin/static/scss/resources/_theme.variables.scss.sample @@ -0,0 +1,75 @@ +$color-bg: $white; +$color-fg: #222222; + +$color-bg: #fff; +$color-fg: #222; + +$color-primary: #326690; +$color-primary-fg: $white; +$color-primary-light: #d6effc; +$color-primary-light-fg: $color-primary; +$color-primary-dark: #295c85; + +$color-secondary: $white; + +$color-danger: #e53935; +$color-danger-fg: $white; +$color-danger-light: #F39999; +$color-danger-lighter: #F39999; + +$color-success: #43a047; +$color-success-fg: $black; +$color-success-light: #DDF1DE; + +$color-warning: #eea236; +$color-warning-fg: $black; +$color-warning-light: #fce5c5;; + +/* Used at highest level in places like tooltip backgroud */ +$color-gray-dark: #848ea0; +/* Used for text colors at certain places */ +$color-gray: #bac1cd; +/* Used mostly for panel background empty spaces */ +$color-gray-light: #ebeef3; +/* Used mostly for disabled input backgrounds */ +$color-gray-lighter: #f3f5f9; + +$color-brand: $white; + +$border-color: #dde0e6; +$shadow-base-color: $color-gray-dark; + +$text-muted: $color-gray-dark; +$input-bg: $white; +$input-color: $color-fg; +$input-disabled-bg: $color-gray-lighter; + +$popover-bg: $color-bg; +$popover-body-color: $color-fg; + +$active-color: $color-primary; + +$color-editor-fg: $color-fg; +$color-editor-keyword: #908; +$color-editor-number: #964; +$color-editor-string: #a11; +$color-editor-variable: $color-fg; +$color-editor-variable-2: #05a; +$color-editor-builtin: #30a; +$color-editor-comment: #a50; +$color-editor-bracket: #997; +$color-editor-operator: $color-fg; +$color-editor-foldmarker: #0000FF; +$color-editor-activeline: #50B0F0; + +$explain-sev-2-bg: #FFEE88; +$explain-sev-3-bg: #EE8800; +$explain-sev-4-bg: #880000; +$explain-sev-3-color: #FFFFFF; +$explain-sev-4-color: #FFFFFF; + +$negative-bg: $color-gray-light; + +$loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%23326690;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; +$loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%23222222;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; + diff --git a/web/pgadmin/static/scss/resources/_utils.scss b/web/pgadmin/static/scss/resources/_utils.scss deleted file mode 100644 index ed749243d..000000000 --- a/web/pgadmin/static/scss/resources/_utils.scss +++ /dev/null @@ -1,9 +0,0 @@ -.not-selectable { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - ms-user-select: none; - user-select: none; - cursor: default; -} \ No newline at end of file diff --git a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss new file mode 100644 index 000000000..e290fe289 --- /dev/null +++ b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss @@ -0,0 +1,73 @@ +$white: #fff; +$black: #000; + +$color-bg: #4d4d4d; +$color-fg: #fff; + +$color-primary: #40617d; +$color-primary-fg: $white; +$color-primary-light: #536270; +$color-primary-light-fg: $color-primary-fg; +$color-primary-dark: #15354f; + +$color-secondary: #424242; + +$color-danger: #ff5370; +$color-danger-fg: $white; +$color-danger-light: #914649; +$color-danger-lighter: #8f8282; + +$color-success: #6baa7f; +$color-success-fg: $black; +$color-success-light: #5a7863; + +$color-warning: #eea236; +$color-warning-fg: $black; +$color-warning-light: #fce5c5; + +/* For dark theme - colors are in reverse order + * gray-dark is lighter then gray-light + */ +$color-gray-dark: #595959; +$color-gray: #424242; +$color-gray-light: #303030; +$color-gray-lighter: #212121; + +$color-brand: $white; + +$border-color: $color-gray; +$shadow-base-color: $color-gray-lighter; + +$text-muted: #9d9fa1; +$input-bg: $color-gray-lighter; +$input-color: $color-fg; +$input-disabled-bg: $color-bg; + +$popover-bg: $color-bg; +$popover-body-color: $color-fg; + +$active-color: $color-fg; + +$color-editor-fg: #9cdcfe; +$color-editor-keyword: #c58680; +$color-editor-number: #81bb67; +$color-editor-string: #dcdcaa; +$color-editor-variable: #9cdcfe; +$color-editor-variable-2: #9cdcfe; +$color-editor-builtin: #dcdcaa; +$color-editor-comment: #81bb67; +$color-editor-bracket: #d4d4d4; +$color-editor-operator: #d4d4d4; +$color-editor-foldmarker: #0000FF !default; +$color-editor-activeline: #50B0F0 !default; + +$explain-sev-2-bg: #ded17e; +$explain-sev-3-bg: #c2812b; +$explain-sev-4-bg: #880000; +$explain-sev-3-color: $color-fg; +$explain-sev-4-color: $color-fg; + +$negative-bg: $color-bg; + +$loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%2340617d;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; +$loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%2340617d;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; diff --git a/web/pgadmin/static/scss/resources/dark/dark_preview.png b/web/pgadmin/static/scss/resources/dark/dark_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..09cc988c1072ed12628d8cce47f735937e937d05 GIT binary patch literal 55602 zcmZ^}1yo!?vo1P7a1X)Voxy?*?ry=|Ex5Z35`sGfcXxMp_dsw77Gwqp4ln;X_uYHe zy6^3^_Flca>Z`7<-c{3GQ&FnQGUzBoC;$KeT~1a~9RPq4{nx%kLiqQTg=_}{0BAC{ z5)!I%5)u@uu1;3AUoHO;qEfXHbu=dMa`n~aY(kJ^k$a-lixrRyq_7g0ej>?H6bvU| zN&aDrMyWNF?2oAZ&Tx5#GOpK<E>(XY*;rm(9Su*+<fLw5_`2=4Be=tR|Hkh&8zldG zTM#Z-8C`{GM#=+bJo(f3KDD?`vig!vF<UTzM0L*u^5DuS$i_w_O4#|XvAr3*s#@F0 z(9xUoUROwuHTejjaKW-hI(z|r3xWXv_Y^GQ0ayX~+rCyIU!uxHzfypa#aT4>Sw6F= z?W29J{jyFo>PE2*2gn>fm}msdJ4X0wQHr2KZFWL`YEoe-0OlzrNXGFYAFyP^K}<lW zh>sG2y9p3@l~oZwt_Xgg?rPKOS}EE?)dqtfQ(1RGtp`C0Mzv-P5u_yCi7cE(x?F#L z)npT@$t!}}wUe-MP#c7YuZCe$g@ze4i@zzV|0*i==STdD#!l&pdo5l>!4uABkVK4A zvtVuUeW(L#2sacj3bj3oXoptZM<+C*Nt%aR*b~WmlJ9G*6P!xv_o`-*l5sgR`v<3} zuuaOhwUNT%Pad-bEvnfha1A`eiayHXDH{k)jCd|)5nnC7dt1KoU_B$#VpG}$e$^{w z0U4PCr;;&OqFJ${Iyi_7G%4g`maqTp-F$f@7TaV=sZWmZ4ui@qNVFh@6_}oFG<X)! z$Y}sq8Cj8{)*gCOevjJzaj9hI6|ZOu{rSZxBOfvXhq@d3<>r86F|=LMBiCD+$H_li zfV>+?5)K0io+Uq+8g3e}F1oq;YZ*1D!g>$}b6gY;3l=}tYMff?Gj+(?2UWDUFj=I- zp+L$?T}p<qCzT<+yA^ngN-I=NGX7nTVIK;V!@(Vt)N~6zJ<bPGyWt(l;~@jLJ=NKO zDsu^?X6Yh=eallc-H$`x3WjCP_!h8v2jE<SKtx91J?F6i=beJD@2&J8I(IBG>{=WF z<hHVC{E6PmNO-znWdceA4Y$$s&j+3fD>#?~a1<hkqnYi<&I4nEvR^?+qkqHn;^^Eg z?~L8viz0xXwGBn>>Z+4S^6Vpf_9_na4s)h>mMVRJ5(L&__Ih0-tb60;9t)RXz2l!Y zKI(^(_RpHp*Wdg!twye|H`n3vL>4R@9;!O=T45skj#oEHj|lzN7d5st{KZrKQtxWx z;7LtLn}S8XmmJ1A!aYqfo0iF>VK2*gd|&>dNTy-aaLXS?HBe@`u0mUJ<sQb==s`a{ zhy<|1Sw8)wKh}h>J8upkaC%$S?F)+^lLy2#-{3Ziw_s=+Azhyr!{srUn_yIjz*Uct zdcy=^p$+zXW1)T&W6D72VhKIhMX(CxH=$&JKQf`!L9Fbzsz?6=>o*WM{{aJxvy0Y_ zv@zh}j9;7Uc#U=&!fOH$!}=&LL-38mEaWHE>^H%E@CPbWS?-VV#Z;%VcvNDa#z_tZ zi%E22zfkHY3LIJ=V!6Wd$GcOsB}U3(LO(tRn=zn&7M)QQbVoY_H!d)6W9NLgDtNTv z&<kagVP4R4$K3dqD+(-JTTs3w+=z!!L^U@{%Rv1NcB$84L7y77_z9{;tLnFFK&Xa) zo6~MkuEzI^$8kZJ9W>lUi5pIK7S4^I8%p2Pd|>Ow76~^VA>R*pu!hYsk$0whz-|wd z3u75n6lW|5tp__NI1>pgZH4hlQYFeY)B6sUainG_Wh)s-Z^~}UfRz7Gcw#@x(Ijz9 zWPTF;P79HRFIHbfSR`BISj1K5JtftR{wn54ADO%~{t-&$3h%@F$nc2ri0l(wsL)XI zpk~GhJIOMMGU+Lgdc;|h#VNW{w4ni49<}`SOx%vPCB*lKZ~T+Ig2I&il(v0gnvQ*l zR>`W0-f=UTT~FERQnn4r#-|^lt=X-~p4pyRf4?i2{aOH@+TOxGx%!g6(!9dF=I}`P zHS=ie=L;Ek>2;|+fB)-7`aP}&L*M#`a)WaCEKJUnKu_l<LqWqhHWja2$CgXVt*p*h zUo;`!9-SUgkEL(d-R!y03jOJ?)5ufQTZP-U)4b&?GZQp>gvbGF|FNI5d^0CJ6huFX zozWZ7C(-{BH51+vo)O1=R^(yftmXlk{hS!i@Kj{uO795m$nya|nue_-{YBdQRzgiA zZ9oWFwJBDsPn<8Gw#i%YD8d|NIbc5^InW$c8ogI?#-UG+qT^EH$;{?CCADQ=45A6L zSRa3-zRD;pRW5~;HYv4b8gX9ma`8s9C;xC@7qnfqpXJ8nnd33G4_xjZ3pK^Ip={N$ zcbVSDOrwmRnY7ewRBm`;QDUWL#ZA*^{l$V<{ii0W8c+A4snbcR<!{4mvyuIl-Ilev zDc68ioKnvWss8tx_?mIgo(tVyZJvKU89k#fe*DSZAYOO7h`u<#xZ<BD4JCn++L6}s ze<TecaU<asXca6_&Q+!=vn!jLEpJM1`sq{THpVc>u%niw)>7oyIdAZjEu8I+4O50o zMkd~fyVLgehJ(j^akQGq&2!pXTV>5)?V{Fe>vn6ji`CWM#qad;aMr8Nv+uXqJ<@%~ z)xsZ$S@n(1-cKcSCm&7_y*Jz6uXitpM;Ej=cGqW+R*3R_Eu{C<d>7}qY5F)DIKVsX z)q7>Sb026F2p{<T`Udra%t3Z8-rcib`S#i`4mx40VZCAW;RN7xLrz2VVFke~U~jP& zvG~v$F#LdEXkI<(`uZQCKgX1{l#K~sN+<rn?2hb%0v#Jk8(kayj6fZA9nGI$=c?=K z>!<5pq`7bF*kjbliE4>eR8Fol?f#CWZBE_y4;=?8QVWG23o8rBqy(j=3iavoaYj{i zxb}=<9Aaon8S#c)&DVyv<D25A;-5XJT+B9y&!XZFw)T&Q^OQ_z6jgraT+?yTxJd19 z(L~ZnsoOUyLsJer58D_E7^^e{=wmavy%tBlB!6+Sb0cD8<#&+Ldq1q7IH&Vcfn=)- z9F2Z?u8`80Q{l=?6TBFA&pGWrMO;KaWjyU#5`miev~<6rIZ7)@ljjW?&jryT;Z@__ zBEf}Kg{yGFacWx&&-~l7B(G4TeAN8rJ3``;`XJ?L@%Q(iHvR^FK{o_94cGgl#GAz% z47poc{v-{qY3oljCkX-y3MDy@fsg0VXA8APQddb~&20k{0PmmlPZ-~?a4}KgP^(aP zW)yRM@@4B})!l8=ma0pdaz91lzw;62&E#zfjJeJZ@?#!19y{hlPETd53GDa=PP|;g zW21Vq7PC$3KK!Culd8h+d1E{3O8eN91W#+YBjayuTxrO}+|%(h2=bfu;UgrewS-K8 zm*v%fj-gBSQqM^3&4n;%J)C?qu>8f;+2=R371xNFr-r6BrMkO;$!4W?#kVS2+p8wC zzSM=)-eG-X?Yy*3(3qpu?8f)ZcjRey@?`QiIuEgy<AV-uWv3CTdQaVGvz6`4uh`I7 zZ60_hyPscMJN$1VS@&7nTBW}_RJT;s{FL6*YQKQ|J-o0Ex_xYLjGTyrlID5JdwO1e z-|?uN?W%QbJH5ocv*{`9wVq26y6}^@=izPV{<<}`sr`oYAO~3@7b$!9HxF8VTZI!w zBnoVJE%{AxV4_RC$XC@+C%3%3p1rZ@V)Ih4iuaxd?u&c#I5wRcT9HAEujZ2%(sOmc z)`2v<9V{O7&^Ic(w<tUH__;1l*q71e+6j_+JZ)xPbJ5Q=&XEb?J6~S=^xZ_VJs8+@ zo_I7sl8#HjeLioV^)pp9kjDF?-<~^v)8br6W$Hc{^1FP#J<GJ;w8yU-Gq`F`bU#>~ zVdNEbLUt7D$?<z0$r%)c^TOYx-em5o^XuCWIR$S7@xR#{muVj-MiyWKh2*{6+oE^w z{&+oJk#{MOEs<-38obr-mtRl!a<6m$iqO3;yed9@&2PI^=@GHd6$HH>)$R7N-6@@& z2U7ZRJh-kiA7~32#|La}kgvV(Ds5+lv{_!o>|FR>-MsyYOu<w^unMFJsD3$os5o+4 zKK29qfWhjyF=ZPlCeHbpnSkz1WPlLvCFurCzOq){&6m*fxl*PNZ#Y_c@S6MZ{j(;3 zBs>5X`aMI|Zhd$L!qsGruNk|j5GW#2`Y@C1(vFP?1i{)y$LQsR3toopr(fUQ?H?T& zQ2Axr*apLwTPJMH6pl29pg+o>=6Bz8yvzK^d!8N48glFB`|o6d>@2J61_0pE{^y2~ zQ>VEG0ALYpzv#H@C@Bh<J2|kKS~!_mvUxi=|KkP#K;8oXnhuukrWD=|Ume{9yoIR# zi$maF`#;@4DvJMNakm$u(os^SkZ^Lfr1;Fn&Bjh8j6y*{0dlpl5>S_v{$KEaZ$eZy z?(WV4K%keG7n>Iso0F?Gkb|F}AIQ!L<m6=i$HD66<LGYc&Fbhz{og|VUpbPNZsxAG z&hEBOjuiiqYij1?;Vwi)^`C+M_x0a;T6)|5pOGBh{@1krO%V7W3Xp@19r*tRbGNnn z|AGC7^53xkn%9312l|gN0aaUX%dfhUwhoq#ZvRvh=HTJs0sYrF{}<{1X!<{(I{ydC z$;r+6KcWAF^gp2g(M3ST)z<Q#nf_x8VGa=R|LXf+{2<_eEcHJu_utF%U%mg<MHmGH z{NHOVjKZe&T^s-q1;|N?ees6*(}QSYG?IEBu<X~sGUb}c+Hnv;j6i%KkB)_;OOcX* zAm^FPyWXE=nB?ST-00LO*K5HWo8qLACOVFw^ARazUL43{0*9~}ZD66Rb!GT8dj%4P z-r;-(rv!V91-f75xc;8b<a+lj-OS9u)efu`WaH7=E-z27973mR;Go*tqLOp*#l;Rt ziF0Hm$f8@4v9@uJX>Rqh!wUH@ChKaJ-CS<0t=(qh98W#HSf#?t?MIRrIwu6<X@2U< zNl#BtlvC;?Fz-wjU$*^ABgp;RRdZat*NaAiBfI3)1;>wj*%xz;_$_!w(jXNQ18!E8 zbM5_GJYE9j?19dK;&awMn<u!1g=+#<eRoKVB6mO;?uCj4ChBkUThwjD12lJXMf~n7 zASuMT2aoCFGIO5{c>6EykG_-RUL;JqZIk_5srQ_x`!p}7z=cPWXq+O7mGyO6-BZSo zc|S6#X+373L3M_VQ}{DlSm)|k(TQoRJaB@Q=)wMWLspM_2U*3nMGAPot#kwEXosWB zazRGwwAQgRN!7*PO2D(V8rx3{f&wK<T;Erozr><4c-X<dpfmU_AOl)S$+(Rd3wR9% z<_^TTRYePJy}L)j!aiP=h|K^?5^gF0y5*$gCYypa*+Nj<qPvqie=L&7mX;^9pU`Pj zx{*ud*=;%A8(TDPm|i!bEpW;!W@Ew&pS9`4TAl=3H?Q%v3aNxw_}RR;@8LE4PR5OI z5MgM_WFIY}t&b*0)M!^fvi0?W8@@l|l8w>UE-`w}i0$C!rns`yXn)^~mY(^wor;E* zcJj)|TjFgleClW|zPH$P3p%#Xl$oB!5dU(Z2`%a(Pu}TmRG|@4YgGSO+*+VS!*68t ze*aEO%+o`g*ZoMAsJpJ7zsKdaSW<N3ZI8Vh+z`=<F(IeG<7{Jl#XfKAc#-0Lgp3un zWbAJc)69q^cw&Q%HqS)-i-ub6#?eu`KbALtMpl`9*Ws&e^762^t)s@d=0a&>hZ2-K zPqHK{UqrOaa6oS&3ryz&TmC&2A*Ds>f|Kd9T&1Q_1<K#+MYG#w6RqI*m6Z8VjMIF0 z(g(+7SK86BOc8XVYlZLhQZfI&h$t7Av^4GoZYmP=0pot%)4nQ$TU3doJ8O{i7zFkf zFTK7`lK**s!Y8`-FMeNNy^X-o>t?zl_z{CnnLW_>-YHVq$wQFf5q{s@tBNDEWVNC_ zGzhjvdCSYuPZdLJd1Cm_7u`<hPEemqB&>Q_wZ4FcG^6wD6=n`~dXH1=GB3~6@%y>U z<KErzWJQ@`D!iNZWLyue>x$154I_uxUow{DOevfrUQ7{S<P;P7&p=2Grd;5*&3f-~ z@XMcuSWaPTU9|@SZDbS#zbc}`rDI?!vU#KBL8}>IPAVno#RYV@G)JD-=*K6?Ng_Q9 z1&8SB@wqReQJ+m<v8IUiE${xwHCmm5)|>jiEaGk&{nD#8`DsU?S9U6IPh4W7m=<#M zT!w2y_IzmK(Nhg{NMN*;Q!hT^K~+Cms2rS-Q%Q<9Xcw>fsoe3Lc*n`etC72<LC0Jc zmuywyx4N$j-Mz_LNl{LdSV33c*`TaTS({4Y$V@8fkH$sGz+K~>Y_Xn6O&Ut&6c9B0 zfg5AIuF2#^7n@ob<paGfB}HhJIr~v8Rdb*n$31Rq&PAg!Ktd!Dp(`OhzHI6JmW>o2 zFmf>!<jp7CQH~+)36A0-sOTmYaH3cG1QepVrOU0ycpb6hZIc_g?7U}9ZEpVZSoVG; z*0EQ(RIEJUXzh}j-I1?qrIf{z)%GW)WeRV6hnyj~O2oOgyTzky`7`%qMN`>C==xGg zb+^1$cCRQAan>Ohzb<x_5^J8+jg_2_Pk45#No#eGc^j+>n5HT<;s_qi>{XL7IEFOG z67Q4NQrOGF;=(FhUZ3yxkjwka0QKId22|XBGs~b;?8m2oxhVs9Vywb~5<{PC+P=4; zCfCc%vdLnI`Leu1Gn;p0D9WzB@eYFnO8H6)dZWp#yYBlcS%<|s$zxEnfqSHr-!5T= zIz{Zt-W)f4-q<}^q9!7yLYH14GyZhKbj%li`vu0NjC{K0xM(Qs^Fv8hacQlX@cX&Q zL{Q*MKvH57&F4EMXv@xv99_IT*R{a>MlGI41j`ShmFhW!)YFY4)D}f0tu%X}PN~1g zc-xhae6RP2o}31AQ)#VQZzXqWc}t8GVW%o=!G{PV*xP~X^U<Hi5uVn4UTaIx<)^ko zxAeLMAwPM`n^|>!b^SW@UJW`G5_(3)3C<Rqr0h1=hUVtx$-i6AD*_5BDTg%c9e#Nr z$cuDEb$OD^`)#*{wUun4URap6=GwSd;H^De7jnnCdYOsWzib>MZW@E(P?E&aYLB9l zJSV%df)Yo<R-M*n?*7M#iP?m)l(C9++l^E$XVnkzRCb?swJJ5!@`F*w+2b-3bD4ZP zisIrhJ#}>&^vZEHSCUFZ-F9xA<U2?CRrT1iFxPanwK#MQ+i2`|@J*Ce^AS>rvh<5h z#B;fsb}g++6+n+RUVOat`c@@$lM!oP;~ASIK9?&F*ypS!d(c(J?I4}+xT-Sov#pIo z=8dpce)iG7iGe<LxP9F|T``(ObIh^XDZ{eqgr4H~@)Rlk2?`XBXN8(=BwAI+SKEE+ zJXcJKRda?^_%()RcoUb4C>2@?tdy<#P&cl_Q+(rOw?5Cv>RbV>xG$^aw3=mjTO=)5 znB&6msRAuF^30XE-I5qKUYIv!;s>dxb(#Y<`YsiR@r1NMCe>voXZB0W)jT}ZdAT*0 z=G8Q-^>Y6&mAETE=P7^{sao3Fz-J6i*(})0h^-RnOr%i~$HquATYbqzntRJnPp1Cq zdB>wsR==2dHqzke=%`e1WZd}Q9>gQui;rHmUOZYiTiWW5TE<bHDt(aasYVGOW>{6+ zW&rcUgleF`uU{4_a^WfV+WZP3P<%`fvlPy#9iitW8LOL&Ok@gKMG838qp_`9>+LE4 zC|mtxNp=CNVa`8qYoE;eEPv!|S<~I&*4G2#VG@D-Pz&kRA@kY$%ve#G-Xrh<QfIe5 zdX5?inWDUa9a20IM~-nup6@;Np{sJib9=jcUwk#wt@-*8-<K{2kMp%Z&!v0vOkln7 zIsfz1V-v~|Wy=X$_anaRz+e<~a!+qUyPt8bcFUBsUu6L~q@n_Ov2-`F=3bMPG^r-G zO>O9Ol2h<kWinoohvJ2^LsQJ0d`kmI-f;bsYQL#xi&0mjqE^32&eoV5t2TTh+Qs5W z`hgRU%mPOAniKK!jMCrlzLsFcImL$B-^`yk(2Y5j#y;C0tt{GQrX-prlPen0FvxSk zz&dj(%WUk@AdM>;q1#mqiZrd4JQZdLFll;f@=ksrHK&>LB~1^D_ix!|VCIgp=jxX6 ziJp&AbXR2)tx>j2E_S&|rC)T=-eq29<7$438Aa0mS^x0QTh(E?6|6#<+{=MhTX${l zyk~sBHlsQkZGKyjUY&7IeUpofS+=m%RtO_p=KX}$cIt{>&8F{I$eLP0lX&NusH+4R zpu=9yV@4;oW`4ZQZQ-4+UUY!(DkKdIPKKjCO^rDM8^?Q;La0)T7$y6M_H93mqD-~? z%C5DPTWI+{4U$+|Lxkl4s2kTtk}HYvGuA2PF&j=s!flGO=FJcA{%Eri$c^KK>8wwv z24FfTwek`bBO5Y=sKQ<uz@orJi0O8s(OJ!ukYAKyubo%_&a(7KDg}(`7!>hHrv=RC z&8$i-aJe^zz`VTy4le2u>Ti!o%AevEM05Z&5EQM8jf)Yf{<<+6?!H~}IeJ*pv0zRD zdT(-=AhY)l)WxTpd2`|UeDMTkTi-HImcZ-TgZnWVcH#S6tNOPEh_7D+-Q}?Nm40sk zgka+6p^yH@ebgxC@87`N0!O$3(DuY@)QK2-o=NAn#ZHzn`>WqYF4WW0L%tNlc4X|! zRr6?iP67q9oB7J*f(ySxj8)4~Ws=!x`3C{L^Wvt8rRqvYytV~9<VEH=9S)~44<<ej zMy>_{E&MuA^La*ATk(T;PO;Wg%&$ZhmGc%5H6f>;14;#*L$zM|`~ab$Wu?a0bEiNv z^Xzi%=!gke*oFGBKA&(Zf%dav2}SO=Xan2~?ie{LC{<i)CPV$a!a(dA5^{1nkd1dr z>y;73@X-8LC%PQ3GHvUDmn{CsFJ-wQIzmGwg+t78RK4J#=%8Y}QoGDnQHv-yBR`qh z_j6!AE`AV;lM+c;vntk^FqJXuv)bdWx<M=$qhCW(IakD$&&YA?(B=&ZwhaGrm!9fe zHXymI?06%~t;eK#?Lg<1plI@w&(9+Q;4pYi*6>X8of51}+U4;tJIy?(-4%B*XkMuN zpthTDB+4ay)GuNY;U5nvSf+vpo#7XdF}`v1hCYS#lF1A$lFy~4zLw+P=j4!<;$s6> z&WrA>A>0A@LTItak63d)mKSv}U}#SMMI4V@e5|uK{qkh_scm|*h6RGq=)leeM$X?S zo(^>p()Ewp+#aK>4G_7-YIAjthR$y~)_lL*qay$Mm-H6sn(ez&^eTkY$y3nHb`H59 zyT@w6a92x>jY}?#Frr7P^{b2IKEK<7VvFp`MI2t_Dm;z#wAlEIZsHc_<>#IEM~1lw z^HDG`8)7h-5_E+R@twLym{pVnv~;Sts+9E7BukL<uF;G+Tm%9M^2!Z0Taa2<Kc9)) zKufEm<QV@dX5*1AEq(jFQ-MlXpte)q)XaFwbC8vgVHRDHC|C7SUQro6MNpk>Q7ns( z#X5>Ub~5V4BWz%iwxn1t84B2$HcCG~R9h`KU?v8s(Z|}Q5(ga7Q_U5*E<q)D`9Diw zoPSVswd<Ts;{CPn{7^)aLMfnBqs&rbY4Pi8Kxi7F57pX7Lv_jR!>PLJZap96RnD^Y zqym~$T4*T!<h%rNhuxMc&*bL(a;Zn=*CWqIQE>BoRgF{Hr=ynEf{9$Ex)cN-Dtrqu zo$qN?`mY73dE?}yVmrRjQh%Z{&2&dK%nN~0l7${V1)247!NEis35}{1)0)X2ofa@% z=R%x(23n@B#czqGVOlhO8SOMVpZ+9mcKc6ElR1#14l~X8=8P*S%%#{la4o|)z~oL< z+0oLnO58QfKpoc#@SzkU`h0Z)6I_;b7@VdVQGeG;M3qU>lK0}3$LMHu2^TEw;VSiG zD!j@AA!5P%DJ3$F=#^aaQl(K7mFDtoVq>)xa2pJ7rCEB$m6mkrd?lDW!&2H+9xI5Q z5?hdUW``X2Wq8}asVS4?*&Ixf0*o3xGi0BiY<k*f(U;%e7xy5mM&({<)g^XY<&5-l z6}BIF9X6WvD=V2SPi@O4j?&*_KYdb6nVdwCTPdLrPo`Ipkm#xT@w+CZMeU0Y1MAET zCzIf>?T-gz@k_iRwUl2MKRYPCKV@l4S=MbE)m3&$j#M`Cs;9F_$t64aADlOOoa0qg zR5Y}qIZ@iQwKk7;``lP86o#h-si_srDr=wX4I%g?n};;FwAf{LxSqW{a+*JJ2S_jy ztghbb&|))(a}H0HiQF;jHai!P2z;UP@i8yfx*_IeGyXlD%WA(?n>Yz|?SM`)7dPJ~ z9C6sMDt6_4b}L=1{!BRV{&~%y#-4cU&P%d}3EqxX5L8A(KP4jq#n!Fg{h|-My!?|P znGQFjBw};)_tC^#z_X;K(=Ef=cU)`vMm;<wrP!p@RK^Rv+zO2{c@NFh9!u)RnDH9T z^cjC>GVl0ihnxHQj7`UFl7c&(Phmg3Yr!l*UCgo+4LY>r?MY=khH%L;w^TtvQ*?o7 za&|K5W=?R;TUuH-Gqch6jwzGRB{a<tKMvn6;C%Y!P%imaX@||Brbg%`A9G}6#C0oD zgazN|L73@FTuQ23Yg!^_4C(n%cBMW0x#eZ{dZYOm2LJOP57*z&qej1bwgdC!@~;zw zpXKq>d36a#<4Em2;;LmMH_y+{6kD%jSn9>&NcgGpo|fq?XU<kaG0b0~r81GaftqC= zpG{x9n_^0<l)K+H>|Iwh$<<#o*bp)P@ET_DnTA4~b0>pA(3>&6+}g1dp*v`qh!C6C zrc2k^1mELn&|BHGwosP(7aFIYyEGQT12je<_i>Ae>{-2r!CT88tK?d=M+zzmT<etD zEQ$XNIsPxFL-Uzd3WHpjWtg_ExR@sS7yog#L#L^4k*kb#Jv8|<h@W3=G=|VzVR$#o zw``lO^F%xqLSh)9McF(x6zO3JUfm%{74#|4KN0kSN<`fJo^J8XOH5=d%j^B3Ri{VW zQK>O*KNNAtX*%frIPS5Q`BrQEUdZ-7nUdxB5(;`e#Bts3IG*I!O9wjqG<m{lV0pH` z56WS${<5*Zx2Ue$ZIjsI=N!&MtYQLY<0TaGZLWnVsO`nCj0Tm28btS+3RrmT+f`*) z1T>|mrrSy|Cj@MGM>j)ZdL#`G?yHPnC--eMxQ@6<Ne{`H_WDEMTt{%VZQ!#V<pU04 zc_+WZQ;VWS5-JPVY&@_J`6#OeUxEsMcQOftmXUZ=_Rj-~jRGGnt4yrH&WrJD2x30A zAbcb5f?AyEgw7`chkD)LylNqbuP6)^C|LN${tX^*2kt#P?hf29`7kxohA%l~^2kX2 z$^3W6!b+*6KCsgEtJR6L3TZmJvgy^kKT8cOZstUG_FZ<WfuEpr<KqdMmBHL*{gI>B z(Z(->gNYiF0|4$8#m^Y0ct9hTzW3KFR`Qgax92Nft=;H|-~Z0Tu`gCLKP;Q)<|9z+ z+_&0uJyvyBA7JX4;Eg7K6#~ik^IRtxq1Qv0Q_;ZQa&+GmkGXtw%%Vn_2~=P=g+e-; zCWW!-i<;N?<dhu9Td(zN<_fLrLrU+rZsxen@o0hK+BwjT;z1O?qN8K&X2AWHdbNo{ z4^}$){rJg>wsA{mVGQ4->~>f({ai{;_tMhR#oN`}<rRy_;9hEb3h`_E>)&5W_`BGd z68~f=SKJ_@{5a0>%7wN5!J<u3hU$G*QAWf7fkqeuP<)qhD3tXqzW?EI+WzYQ`}p`* zG$|=1`9m>=t@gjHvox6Jv~#X!3iVaAubdZZTyGMRiZ0Y~yQmP0z!^sNG@JS)ITlkE z;Tzx+r^e1_;ljw<*nZXfe0V_q-rijbjON|(*U&njf+tK)^JiOV9Z&!S?gcdx$z6-< z?!?A%7Vy45)x9%mlqxp3zCNw>r7fl9TKQIzzQ}?LMUn7j;FrtqQn1L?FzmBC%R4$M z*28pFRZSpRUo(3lypEeTC?8^RJdivL-uTvEo~+<%Py+l?nbhxptD2>3etNahiqTI1 zPBw_`NPan)%@K^1#^U}aF`~hfk~mp}9Xm;A*?kcIQT24Ye_t0+lg0?bJIh)oMurVX z{KT`7h$*rNy6%Uwg3L4Q=A<L}@4HGL=?vw&{QJF-tGSfdP$pua=;ylcP5>Y{ZC*$8 z!NGa7THO)BX<Y*QUR*V#i9FcR(ZdmB4@$%em$}s+m_*baZO7M)Ka78uh70Oe9ZydO zr-yTj=ea_+^~>=-pB5+#NkWjy29n9$6Nu5__4xKbO6yj55eb17ccWy63bR2=C*RI3 zL!Ay`V>NCqPy3OB4liDY1a}p-0XY6x%D!hL=cs{lS1;7mP&y!xp8K-nn9L96>rU^M z`vAhCru2BQi>8f6U&_c0MP5?UM`k#n;bi|5jZvhdjmWj!78Yhdt?{99mw3<u$C=+; zu8=es+7A?n`D#dC;dJQo%b|@B-2%Zl1*RvM&62WrC9<|+gxsg?l*rIMq`mvL0yFr6 zEAKG|^so!oBJ+l~D1cFkUQT*~#0P!t7vD<2H@)JK$(*P3E}9wYYN6*^buTWeufN6% z3#BLz(>C&v>MGEmX)fa=_xr=K-s+G=d3?FmrR0+r@K+a(C<Vn*6xpx>kr|-Pwn%G> z54S6R+Q12*dNKXs&F4LYSyBS4M#nTy3Q?u_geg@#sK#c)NBRkcmL8*9<Zf9*8g7^7 zjo7K%^v!)~+<L9n5W49$r@I|5^45-wIhEwi@F5nxzxd@cTSYYE5*u{G6ONb*gUyom zeAzdbBpTnCAmU1g);UfjwbN)B%_w~8G9Sr%7W4hcfk&>(kb6Ge$ag|C1tAjc8*xrV zIw~Yz3<L#ZSVmyJw9AkuV8&t_*?2qkLQ0j$d~*76VsZ3RZfd)(IQ6(Gh(^xq`q<uY zMBdFo3G}f)nEeZ^PcQ(Igr}MmT>ZgM!N4=ZOz$mKCo!3~6Vaa45nv$1?YyO*-bdu^ z=Yf{jI1J%)G!fA<?V~yyR1%*-&~`!M0n%NrA9x5aJI_<@$0B0$22Jm4jtI{Mh>ypS zp$nxjN@=hFC&4j)t3*6dL<>;?oJX${DuHG`s#*^M)$U%5#@t^-5lNqy^4=^w#0{|{ zK{nI#!PYF!4-xbaMZ&p3Z$3EqPx3?#=K?fE#v&D$*!Ve=a~7|i(e2}KyAs9)VnQzP zn+$NP|AN4S48Qkv{t6dB@pWkyU{E{2Ls(taw<`2vB1uu^ch$3YwqPu~>@vO4V&A1^ zgCcjZJ0mUzKn;^K8+3lq2yrB&p!i1d#cEM`xdYZO5L6_|CYw7k^ynt+ExpTk88wzl zE-&HxFt`&G#?Lw#uC9Uc32s-4@Y-#pjN=+@Ue$_;c%)<yB2l1*vCXs)2U1f`$r?qi z1E9<WbKj09GY1~Zfh;iMQ$o56R7Ru(Ct+oi5bv6-ugK2h2Jq1dMZ@s?+i$qX6I?Zn z`a`(6@j4%KNT<ioQRQyvVj35BH@^=F6tjqRUZdtYeg^0r!W&x17KLcrB*t}$;eifR zRiV`A-H=c!5fV-@;bIw#;@DYYLiIFc9Qu==+9kSw%Bfzc?H@uA;y~pR?%B>Kl=Lq? z5j>o<L4ye+$tuFOwko%noYGo{_sW}!r0<7P3+YRL?M=QbV;)*fXP5$nRJ+@VXH_RV zTh0|7ozh30ON!FNA!5%a?V-N2Ujldl#rtZoDIxM+v<hEL%vJM*F}_a<xwOkbqQ>I6 zi?3$*FSZA-B~FDzatjXT4#VA^20)vb!l59<M=I92**ac|6X}Oikid|CGe|koKN};k zm^y9>QDiXcIA767Ook8A4a)UOh+7KB$Bc|9JK7)*z`Td@<=A8j7!MyGA9-ved1W3P zAEBmg`P^~xE7dBe`}dF>?%f;6MY@rJ-9a(kLP7h!xdzWkaHhq3BNNeK{u6Myp*~`m z$J|079mhdK;dz*hzLz5)vCfU6u-F*aX;Iy9ROz`(=&2BEU{Cl#{MTK^4Ilq>>N&CF zy@9Iqfdho0&=&z?1D|j*75)r`!(8uiGKJf`x6`~o@DfH>bcjJlZ0_)H8RgN(Ffi0; zL8ya#P1>}yek+Tn`vn>cZb@-Y#p}Ov5sp!YKbQCCB6BMSGm&r}Y%lR8U`6`(h<lGd za^WFs_W#p_G|;Gm43E`2S14#wo@kD1&?}l==<>|vnnua#kvv_L+{WP2|Fw9D(g}#@ zM1D^%+-w*DLbRN8bDA9$*5n!X=yxOQ*pGJ;{?nW1`r&a;m|!RGRX&3k6ix7O@Xy0~ zzeSSI<>p!k_V6P%zwO_qVThzxoo5<9!_M`d?2_;4PCuD3l(#`Yj@_KpfKu9c-`}7C zf~MdZdWQG5WK3J%sc4?b47wgbwWu>q`CKmWwCERo;4A;(`Ke+0w|EhevsE9I(b!VC zXEz!D#g;bvjix!_t}Hgmf6>#wGad4@N?ZbNar5vGzH&0RtcoN2`m1$4IN`zFPgJv$ z!2OuwyGS5LvAY;Ru#<wJ)$78a<Pumy@+qx*cc{zk`kPr77B+^<b)?hfqnc^TM7Sd1 z$woq)b2e&9EzujF&8`97CJwpYOTGdD#yW*W-x&Ehm~XxmTJHZ+h>NQ0d-U;=LNQY) zHXUAMl6*$+Q8h0m+HVf*tvvS_P9As|PK^P1{Z7v5nmLavi8owe@F1Aq{%_YH;&QSm zzzW^XWv^||SG)#`lu3XFC&+uuGeR$UhCT#SL!!=`^YIlGBz}+VzlCwMdQ!28^|7kR ze~TeRSQ?=B(A3fSX|A>}lfx%s0E2y-(un9&WDv8~VQ!WCkkaAp)S$?g{dI0U!QH(l zzzl311d~iJa;RpgQ8Q&f`gfVP8F?rPjOm4DO`-BIrWSOlV6f3g%pF7C*c@#gtU6-b ztxA5qQDA9ei}Qq;H!phJKA5*wb3BC`5FE76mA&tf+<t=7NQL&)ERtR}#U?v-H4%S% zVg<_AEKdy`!uf6FcVWpo?%%N+dS8XrG<_u_@}@$nKe=`UP&l$BC2{(4B>wHd9qnt| ztZHH!1SL$;TpB3`hC`={!k*h(f%`M>x+ou9;($C4Ld0G?YAEv{oytS$^cQa2@r(pi zLQ{mtLMRO4eOY!GwdAC%Ksxc!5#fk)2?cqb^GhNoZa6uvtpC1%?7T_l2Qv^Jzj_1T zen+DyVmM{Y6By$@=77@tQyih@LvhUE$egW?L5UclD!~hBHbB;!5>4d9?P_kAwkJJ` zZ<AUh9n~c&5{$RUH%gayu-)S~lLuABJB$>GYu-#I>%da>$rcI9Op0I+EFMUV@O#<K zLU=49e;q$t8v<)zf^B^~BSl2YPTve55(w8a0k6A=BJ~s4={aM_rL@8x2=8o|7IQ)n z5S!&lJZAy|*|#xV=MaRw6P7@}v>x`TFlw|%wLo`#er!zLgZyyv<_T2xAvL_0J@d=W z4lTC*YcR&?I8G#nU%){88k`FZ;|9!K_>JqjX5IpJ9oIi)9>O=23H-vfUnVephiNfi zWT!9<;kpU%tv;f@c{{0j4$7|Ofz#f<Cd3Zb|BajOyYIPLPo1+95YW?<of!of?x)Ra zG5@48^pmERGNHINFf5LtAf%BgXMn$-#-r3Z;fx;sQNPit2Pbd!Lsb>!Dcuzb$Fym? zMin08Vc`7f?%eMa#vY6}i~H*^y|5{`bVNX5Tu*Q^TEZx0f|%2O2o&Qy$biqeTO!(v zM6wZ_Hy8GCjno#YYcGQM>lP{3yvXzVTnvJ(kjmlAFP}oTzbzB==x&jBp|I>fQGcpx zc>_K)L^#h6s`0k_8v^3UA9?K!o3^6|TvOuwGd=(m8OdEhLfU~Ws@7EB#2y@et%&oF zDytX}9l+xom`o}V0)5_Tp-^Vv6m>kv>_t2;;((KeoMbI+70*6_&AghTnmAqpG>HH_ zq0lCReezgY(OwVcZIo~f#=P5yl;aa|X$KP_8t(f^6b^_jk=_r>$jDA5;jL;k(u8p? zUMG^;Kid>9^Fzmy!hjoaf#aw{!5(?<f1Tc~x)Tvk6XAlTNOE=4%p2!h;T;A$2B}|a zjCwZQ6LCKs!UPODr`-L{auSYvs}bqe{EK_l<edVqN5BNY@(?2~oz2#sR3zw>%-oIE zwJ@3=J{p-S%bbqU=qsiMG3(D^e0LpBbA}eP>Et1%fnINyT33@BVQda%HuDcM8&lKC z6Q|g^6qT3ac^x}X>8i-x$%Vnb*ows6_k0EiYA9(m>^br5JPy8^;i6t>w1?=$PB1M@ zSYHhdrQ%gp#XrR}diKM@!*N$tRw`vkNl9s8UFkKLq(6LN;o@L0P;CfB!x-y9MWlq5 zjt&+!>RJIzUjDZAwS2`!Ne$l5Zx2Qi744>fyA88A@s(vFJnB)_9zRe8efl;Dk*5~1 z&?+JxXru{6n2ljdjf4Fc-4X?%=Ga~Zus0-zGjpNlOd0ryFCQ^C^4@OCScSVA*k*`p zISPYzVMY#T^zx1K>hp7~&qDk&bxT;tSL=A44~NhQLHUx0V*Y9Ms@eb&lj(qF2`zWv zUM#bdIk0c+i14i=@LYc<N#Chwh3Mn?lnzpC;nKL%(w+S<s=$fag1R<K46tsuDr>w` zl!&h}O#3jrNL%bc5`k}0LIR8d6gW#tM*s>hnu$?h9uta8ekh->@359bf9e;SJ%_ml zlkM&#=Z!+Vxy>de2<{K}OpSKBNh+dS1d^ZUB``D5qTuEZ{boL|=@6w2fFQ#-T0z&} zsL43{%SA=@&MT{GISq^b55@R^;%DL3h;7p`;~P>N!WS7WMZqjb76TniZN#tO?fjeh z{O)-g6?YWjKY2#Fj*|L=>Qb%UVcpZpQ~UM??7PgykKd~eIu_4@EmeYvj72D!-LnLc z1j<$l+~5vw74QL>_&iOAn|-9#$rRNIrIZws!qk;D6^rsVntS!Z^_u_cKs38*XEurr zjki8aGh09p<(NzYh&`J1;X-wpVo}5kbTLQtKhO?r?2aYjXe~E=%$*e7<%8Z0_T-48 zF~yz%ee$onM@Hj`fhs4*AZ~_-QrA7WNLbk56y!bFZI-_g#!QIYy1d~~^~B+VLA4~C zv0vDF-0p)t4cPG<^dx~_DDtJYt49%4$LAjRzq9C8!K)UQ&r7av4T$_JquXov<D3~1 z30w&w3l`G_Xzv#`4~Ms|!TE@ReXXjIDZJLbjSTj(o+8*{X>@qvWyn&He;7Xu;!iVq zpG}livyDHWRn_q*)bl<)z;x?uj1$hwlx;GBfkaezA8w<-dEl@cKoGa*LlI(Vb&gj$ z{>$^!2L*!Nk-776TlBvuhCA8RdTog^YHEo!*v0yCj{v!c;^`CAi%8#5sMK1yz55C& zWH<iFLW%PH=0r%9r$6^)V$JqrI(gvu*igCO>K)Wf3Mh*T6hmZ<!S|N>S6=QuIyIV_ z4to&S{bw&;fYNbZEZV#K1z;S5xT>m-;2y^lz8!))k0Rh6!UK(U@*fgSdl7kmoYSvM z^%M)FKimKG;us=_G7~>3w+zH%VxDUL<yH6by+AKgWW~wT7R0Zvrp1)$8?34!QFH0K zS-lfOuP1<_1f$AAAZCIDUjj?fU0|k!6<7E%PSpE%F8L{>sL>hZrb6;SGaDtq1Xmq` z-#=HanX_KXIdOhkmfPA!`<PE+kO*(w-OqdP-cwmw#ce;DLG`l0TH2_pz6evx=Uwc7 z9V7m6^w-CAD(X*}d>2o!1K6041NcCcl#lR$j0QlD(JpCp7JSY_B4Y3^$^~aQ=A=Bo z4d3DUq&&%@@Y6}rYW*%L;Sj!QcekqQqBz|8Ksuz#-FY0%GK>vGDYM_tWoc_4@7^bC zk3O2Fej2x9hkdcxuvBdcJq+&`cl>wOy*vLG;@bp-fZm5PZ?&k`G1CAUL}};<(Qsp- zpS=HIy+5bNDcsRMqDb-aB<8LdkN^H}(?g}qP!S6-=s~SdXR7ac>uQ>408^&p(e*p9 z5?~b^&JG2q-KhA~2a<4ivrUkjm@Kr$_fQf$k)PW7YQ;>F6PlIWBt-}VaVNju$@t70 z*N$fxp{#Q6${Q?d2%o*wc3pC27WjdRw8v+Bq)X?e9Ge}^e%#JtLY%K>gq|Wk$5E4E z5RKzMs_mp8GAHtc!OQ3B1O}7%ixP{}7MGA*@7^+E{v5>g8RYdD@Cu5%oiAo-#i(x^ zU%gw&Bq6v|Wsbl3EU?0qa!5j0(q&fPQGVG<9UJL&E_19&B-7@+CanmsAxaSH!wE)! z-$isY@NvVzlmVecno$ri#UrHtDBZEPlEOpd@)@LetEK3HY^LWi6X*3TAgK!Q?(BuP zl{3?J_XAy2$(Ue`RBgQ7oeK=EReVp}q!`=xG0|Vt*e5p&hT#15WNG)lA+pwf`5=#> z1TBFi<?>QA%SwRi{Jl#GGi|F@DG^T+5J9fA#!MMc{bD#WL_{nu27kwKHn?fd;+luc z$j0OSfO$9PM_{_W`C$4(@QwEaTzv|r2oZ*@VPe!&(+w&)H&N}2jpFt9CMa1d|J(`E zzr?d6-=eA`RLshK<!z7rZJ^pMPG*;O98doVgG<I>5lZdQJe0@R!#}u7YVv&P)n^Z+ zJ5*Xn0wYd_OCTnQRXNHIv>k&a(p|WW@Wyjq<RahrWqsEZs4*y{Fv6&{EhPMJ(|u{P z+aHoe1j68AcHy7+_7BPh_Y>OIgzg`1l1lyOp?srFlUaO$S9iO2VIrry;Fkxrd%nSw zbu8tqK}z6>pZ^0zZaSRsI2d$liH$#n-9b(6{z*3hLj*b)L=g${#S_2B%S5Z-Ry?;9 zXwNL#g={Ef9X;Q_8JXc|-0kKn@|Q;<3EiBK)08#IL!tC`yif4v7$Hjp95;+e=tRCq z;6VsaVPE__MjA;9d>LE4n8ri@ri|?QYE2XGN{-hy<C>9Q&ExBD-oA!Q3~t2pahwt{ zc7}2=Y^n)Uoj-?A9U4(Q#>Zl?$cJ#zy)4drXQUkVT$kZ+dePw}H8sA)y=yN*=XeqM z?_gnhIX?GT-ky8uxm0$dxMMki6AJru#69;8Mgr4qKtU9BF8KQr#Jd|yl`1z%#lZWJ zEI%A?CuaW}*l{<T=bo)-6%XFW!M@Z&CM1PBCD}h}40w`_nNA5Ym>s4ji4?gX59`h; zg+C*Qet1cs^oaAf;d@A)otjxWUs-xv*F3U$mVVO}Ev}vi8@rSCP+=a1_Dv|&@j>?y z=T5@cfTqK4|Ll5QKo)v5n8$Z`gb@JoFJ~4VJd!e+hX_#h<%3mD5+nGAy%0rCXrBO> zhcI))d)swn<V5rIIb9|smlcRWI8mj?Z&#L)dA%f-5eP0XC5i&xL)gEct{g(TpWMPE z;speaIAt^jD0V=LeZSFBOd7KDrQ(w<1aoy>8{YL|$-aN-w$5V_c}H{bj%w{f0f>cE zP!NQRz1VoyW>~<%A^EHmPECKcX8)A`av${Wm9<{*j0}FiGk&K%K5G@c4h|ooIFI6k zmW5`NBWqEhh!U`-I^-iAAl3=zinf<QKt*|5c~#74r>de}#V+_0OL<i2#2pmTHpi#g zn1e-2T~yczIX3vkVg#-+p2K_O?_i8~lR&(ya^rgc0q#vd&?Peyfy{45=USPF@B2Ne z*6d#rkWIj3=A`qY2KamE$Cfw8MyGbmCXZkjGj2>2g!V#(6Ld$4T)*U?1jnFzp~eOO zQ)ri)&rsDrXT9O;F?{|G7V%k-E?6@*#8G}ZAc>bbH{j>og7WE9%pSPdK6zhr;=~-S z8S6Qr_CP;Lk>~V3{lNvOky&Y<#N#V5F242}B|#^dax@jw(d`Oot&XRDG~p>|D}Z12 z;`ER7gh2lP{zh80WX?9QK^e<}r;y|~iK(SIuwe-(u%FQR&?JSFZi&x;F?qW_7q~hq z1Yi-}lOTUe=&8ux(^CJU`{Xa_ow1?V?SEl!+{8;WxOXhbkW4`K$RVLq==XsWXQa9) zYx~PT4`si5(3+4TMs`sp&?c!J<_Z#~To&^PyTqNu<?k|kNaa=rBm6-p+}Nbn)>c%3 zQwgJ_p5rS25C*|3OEjZR!Z7-#(3WkeBx{cs5=bz&M!hK*fX~joB^B8rvNkY^S_*mg zN@@iXrLZz!#@{Q~Dq|AnBF&An5{UdjOt*I@d6}5XNuS6AYnO!>bCbsNs%G~t`uO&V zTi3hDEs^giFV!jkI!(s2Krb(l`D{p=J9dG5a)cmYf<v&z3`jx{=l(Gz?3_6>%}%yb z66q)M{A~Pdqh65g7lr0gq-A5SLg4!qdBVl7R-*9+B@8ZsV4`nIR*Ea;TO8h)?YlP3 zI__u`O>BQ!0_t?(%}0}gOK-RDVy8|)&%bzb51OW>O|XItf&nOa46!?gU9kPFIU~Np z^`42h?0<clN_DXw_Xtcz3}jBd?KyIrgWdz-5C#eJ6qV#!tUE;ke1I7m%vEM{T>wG; z5Z4<(81C<z^oRgVzFg$pNHLOm2#danY6fe94$}YyFbycO%0eahFCM4iBYVKJK1fQt z6Yu79BNwshoDD046UrEg&X-kp-Cw4iE|uyVU5`Dnl1#!lBM{49Z&Tettm`4Z3UA7b z0zEcF7$jg@5@mCC?K1ov;~-lhC1aN-lrfPE6=O*LFXN13LDg&%qukQE^Qd7`h8+_! zvbED^H}<$4zl<@D_wCwYh<AW;sJA!(**=6kicf>LRO9)TKe?nt*&6YeokQ23<}bot zXY-`|lO7e|%k$DPJF9bX*+tXW1wL@IO*c3D)7^G|!vg@lKh1Bys9Q%!hvp5<sdjnR z+DSV&K13}I2T+LN=y4YdeQ*PwQ@B@W_d2(JU4q-v2I_yM0oVmcD4D`gOiput4E}Lv zr4x|?e;q;JkAwy148XTK$XGXv!J&X7&@~%I_%VIbV9Rg>*RMl@>I^BQAfKFwAwZRv z>+-#`gWEO~^jhyMD=Zwx7@qzBXLg9W+t3AXUUm(5pMK#a3pJ0$ch~hDM#u!v^~?I` zJdZDa`U`y?B7ZYcuy^b@!b`qM@4cmEu8Y?oYPeQm2uT)&b%cQqUM<1ix;|w@P}3QQ z(VTU_<g9d-w9lHgj5QjFul+s2lC>{m%b3kzs6o*)AG7mnJWN2xGIv~Lu&viIeYq|& zh4rp}g_*ApY=_=lvTX@14j`tXQy`txxBnEr^^!(x|9f56ytCQ+3nQ>%4ZKMn^cR;u zK+S@Zm1aCkCHf~pqufxY5Y2luTjw|n8}u(5!wb$%2#HCU)8v381}s8Y!5FRyHCq4S zcg+b@fWQNcmCm<dDj<Bd7W6=HZm>{1Yv98l0_k9So9n_|lyWL_C`@w#4lcSXRB^ky z6|w(u`Lv=ex3C@IZ!wrHczOzU7xQ2JSt3P<xdtzofz^r*{p;~8X`{=HR?dLXS99BJ zQjoQOjX`I#5u3pm>ZZ}vpD-LjHv^b@V6zES^sHt8Hr~fAaTZntHy8{S{C_*VEt$?N z9cFiY7-S;4JbY6z$fKG>fW^?LSbc#1C(_aVU3wOghg|*^(Ng8yd7MbjCq>3z7jVkK zSXwxShQTORcvxXT?_n6u)r*yOG`RWj(fto$vN9b7Gx2_H^WKDj%VK&oA3%992^2Pa zx1gwIsG5hT{4O177XeeJ2xIzsmIecWRCgT)kE%L^FDe%p%-Q&I_5SAMN5_`uYRd7f z$Zz|vHg(q`tv?vgr2d+l6L3cU4k51*gZZ%Y_SfsEnbz%a5;M1QZ2HubuXFaS`O^Jy zOJjyplQrLEqrM@+X1Mw%BEdsUOoWno@qk(C{Pnl7KU~J-fFIljo}Wt3C)SvR6aF8f z&N8g6XldIC1lQv3(v}e1y|lQrKyfWz9D-Yb0>$0ESX<n+5ZqmgySo;rUwXcCuJ><# z?7fpcYu2-7=DDMaT-4&pfHS@6R`O23&$j$%uEt0coW`b(g@x?_;02)Je=3T$6vz7_ zn*%rLc(s<3z_Vb{3OvdA`?#wK=^YNg&M+Aa_}H6DYoJ*Ay7%}cPs{ye8A@&}nt|Hj z6{2}GP2ztM#l0=t3ysjqZ0eMZ46fETj|{8+%4dLA`ASIp(=5*g@)p@tm%?^U{i)Bc zh}&uISFpoVN15}~-?o9~l}I!O7fAyA!pyTM{dE+YA6TVIaA9a3NQDI>cS@|iu9@-5 z7)v&&^UeAtGsU9a{nJi<j2L}Qk!s>!mrLe_T!zDb3JQwtVt3p4cM)TpLt&6Cj+aF* zcwQhO1JGx&qsU<2^px_q(q`6p57216-m4a~@gCx1p(<jO#E!WSZ%jg<M!0@Jf@XiP zCdwMB^V!=?%ShZcn5sv<4Hjn_UlDvv_+9TzCBPR6i8Dxo3O0g;q)0;7r*O%ZOi#ir z8MNKwK{d;%$-U`ePyOk-6Km6DD+0R-sr(E@yCuJ6gp8hq;qE;yn(qdFuOj0fz&(U+ zEy|wvLh8@-3yznDNLz%6@ov@xkdGC*v<+N7*0{skk(WR+Rz?ANaAfB6x>;lkE5|TT z7QfopJ2Kn%J<ICfc`vd3V}+Vqt0P`XFcXEK1RV5!K0hj+5orB|S6njGk%Encln@<2 zZy-j&hm(9lZy>NSA@|@+L}X)IL~^Cr%!rEio3qFrThN2>t=c9UnL7V0^`{9S-K}(} zcRLbhVoo`O--J^x`t3R%dO|XrpZ<CpRNE*K?R^*C{5>&6e_30(p>y9B1-_7k3J<!< zII52U%eZ^ruU%z|v7mDPXh*9SMwPSqr>?^RMj(`sbUH7g82Xg*g?nldsHK8<u*0YY zN}Q-4B_(>4pM#V#GEHzS$AGwNDl;`|cn7yBH0j@>+T?*THHwtAdhbjNs$9%{u<0Dx z@OKbTM26(EWJ*8bYATQBi5#LGVHoF2Os=aP2_E4BOng0)diEh(?fEf@8R)|h{66(7 z+$#to0l=g<3%_)BDLg_J+7P;Z7la9QGDO{IW&{hj^<4^1XiZ`hu?j2Sie50mvU6MZ z!rPUazWMKYItaf_J!G^C6?|rJrC5=P{eD<o>?t5WKNJIW=>*K_Nm=z)-D7CJBi@ZU z@De$;c9wGuMA8WLJDe*^mPybR8o}h=<h8FsB6!oi@x}@rOA!aZJKQM(eH|#-4a_tq zD?tzScOW(o_~8HjrIniF1tL`ahC45g;2lY#<PV*+_fRxXRI;knwHOH41nP;9{B74C z_f7`V93R(HnAx@A+O21S68o_M5()U(?^!0*4B@NRa7q}W;e^5Hi<r>P{0<tYyu$YF z;v$+FpEF)voT?vZ?=(;)CoT5fP(2M5BxBhFcS+VNdwtnsae9m(-H=57+n$_HWyrF? z9epvS7d{o@8FAOzB>`9|C7&`IJE2C!R|?_%>8KVz#pE<BsPp0XOBcNTxX5Nr$H575 zl`pvHbX28~UU(xCw+8m6Blc*Qs00k(-yaz#+59z}4Jf(kxLen(j*jqOzB303o(0v( z=|BF^k5NpaVoO|phmMxH2iaVUqkbEROY;hCGt2f#nz^-k|0D9J9JBLku0I2@fCLuU zYsrCbJkv}VANTs+n-iePZKsKliyN0`FeDLf%)G|&eq*Y9yxnC~s80ndqT$t_J;8OA z`KOmA2U|9;qLx<VNZcTX!=SyR{-fy#cym<gWFk7X(tGt`#nM2j?HNgM0`Vgt$IdG{ zkDZ9|7vXX|a)zr|ku+8yRqB7~^?kY)=zrJjchXDgFc}tsBxHVqL@wZ2L?qBKP->f{ zZ*`g|eQCK+(CtT!XZyj#B$)V6tR}w1RSgg@HSX!cxi>~i556#uT_Hb>h<Sc|fkf9e ziI=<vFr<1M2D3Xr9s#5|<aVDw*Jfn^8D3|z)zrVl620s-m7#3b;52Xi`~08`x1Rxi ze@T)+l8D1bV7!glFNFmUA{`t~VRqRaIj-^m>R&iTkQHv>px$0^f1ey9oL35TQrjZb z4SKScB%93u0i-3dVA8Z{R%W)?VklJBgjXJ^d(trz@1QC514X2@8C;%mNd#nIrR?LC znng`c&Za(2lH<dQyo{Bd`G<=fiL0^ub?HoH!3!PmHi~LAj_@^0mel>kb-ojW(y&60 zmbdzFHlMUObROkmA4_ZC$KOLj=QTpwIC(<W)WVxD_I0C3Run=x-W}M)Kzu-8>j!*_ z&LI9^a!j<CM*smVVyx@dD=56+(?DqDl#1R@MaL7q!|=y6uFegl$~9s@_0u*{<V)ls zEda|(x|FP8cb{?&*YZXF5`aBCgc!5(o0U(3Vp<$>I7o~L$M49l&>83x=QJP3E#%UZ z_GcD_DgP4Z0)HixU{4uokHsq?Db2i#7eFmWbvpSiV$aINB(KgA8e@oYFYkbp56D%L zSE*t)Z2hud2G*|}@7=Rj^jH2>usjiBmBC{<oJh>3nL2@#+C{oeOMn&It9XOc?Z1;| zd9^rc%@3T+bs*vg_D}R?!UK)$)?)T|jcFg|`nH3b<tWtC&OsLXI&A^(=dlC0cvkp5 zO)r$zegPF7h!;|5QOsLkynjcg@5xrV&SdJ6IUyw|8N?To!$BT^2MFch`K}KZ1B(E{ zdC@0XwE-H<`Qsh5XP-o>@O;*g|FB#!^KA7k#)nZ2jwOvP_LGvwk`y9)G;vGg8UWIJ zHqPX{JUs6TQ?_dhi*>SnlO(S2n8!0fk3GZLUtrX|Xw6|X3-fH-%@2c}_VZP~p;359 zR(o{!(b1+{pU^AG!H2Tev{%(uB0hE?90`%{4UeIVF>b04x?cBcdbC($0AbBnbYCgs z<?$H{(k5cFI6IFIqT@V^A@P|@6O$UNbPjfY${qP{I${}VMTWmIuuHy4Ns&=`N2d*@ z@gqW5vWZltJCJ$vWCffmqq%U}7T>*h=sVX*Yd80h=H~BQj6WyrMft$sv6&4)1B`vL z+=59E_X*M);Fq_ieGs=Y2~eYHo|PTE!lGFIg(?&WK}ZTzM&MP1Tgd46V&{b0xpc}n zhd5tPb=QXU?)bX}I@2v{;pbgh)ZCQuJW`~y7ihja%m&{%9CAS9*hXD1LaUK{eCXDW zN4!6-4aNfL-kh1gGL!3l{0ybMYyPQV{Q(%I6#<ccSQjJ}*P`lV6(56<;F@g6reZB1 zA^CrmW{w}Vexc+ui9`X-PaDo92$Lp@uJs$^F>v2r0QL5MYc@CC@|hyTs^vta;03AQ z@17O#@J%Vbdm+9{@jm<fj?7sp5my?RCK@4AI2Y*t-F<Pho1BoaYKBWXu?Vtf4Ce7r zkiLH);47_Nzw5{~w*LZymS3Z>_BfuG)DsK!Y+l2m_#C;LgGYh>DCMt@3s^qDY3WIn zA|fKP%M>SW)VqO#{CtC!swQr?PXS8yG2m(TlUd*6+Kx-jJhlO1{M?5<x(*)fPOt-h zYO#o15SsqLPyiOZ1Iik$r%(`t>Le#kqg0LG$5tjWpgz#p(Ty`nFAnSeO{-n*(*xvq zTnpw#p+3)&NbE_95XANJi&Bv#&Aj@8p#C^@KD<ZzB@cHM@z|yjJ5c^TJ`_OZMOL<| za#&H8VW_f@EAr^&*G#oVeUs(keYQ`b_tNBk#dEiU*}v3pH$zOOx{qWq?u*%7ZZxBk z-|@S<gGX|1`M$OK!&~?dVe<E_6?5XQh|w#VsJo~h)H4%J9-6PTn{JW8FG4=<YO<Jq z@=2DV>g~oC-A_#goZXs5D;Trfz0KrkWEuG&ssaCy8?!wnVgUL%<T=f>HOqlH?By3a z8aa|GBt1l+b1CcPj!tdvWSNxv<G2;`hANPa1APmB*ap2ngh_<}W1PlHVo$D`2F5>q ze`8NdcpP1ADvBddO7@1z!TsU5A*0YW+a9LNX_Be$dF@*LX<PTzR8?&tufa*xwesDJ zG+uwG#GU+)iXSr^TnwRVmwc$ZDx8E7+aYzbH*s7%udxotDS1g)W{FKd!&X_7W>x(z z2r0F??isNC9LMQ1T@@!B7_tYjV$Yl~(Ov?+I0b4Wa4+s`4yaCmJU{lyAG?%RzXiFX zd&c7+!o0V?3v)mV29^bjG#VhQgyIzB^sLV~4X*p0r-BB?KWjg{y?EdGCxp9HBbJ$# zYJXtpu6s;swCgN?NxLgCsPUwK(G$)g*SGoQcY+bpv<Tqq$!+D#fYHIGqTD=JY=|vA zFY<$}dJk}H?(K~5pN6+7@n9pjkge#!_#>yg3(b9#AEiHI-(itZ-~%*y<(fl!Bl)$J z?3;t32&|6VWUx6&GFy@?avy=2Cb42nFRonmOOL;8PpF37Ch+?2-}|jh#WpyDfk@&( zU4ud5K@Df?%O7voN9LxBb}gX?ThiY7*(-&`-F2D+gMn<*9EN{1?BY|)1+PnHD-4Mq zuTrQoUj3-@LieN$Wu(@tM;;reb<S`49}A%T<M@p;lAk>0w-U^X$_hCJiUxTFpQ2j# z1IXw-UT#n8(ZTGAi;`IZ(hzAMaXPNmYx_&&w;%Qp<G|xvq1gQ?c_<t40)G0^0?y2^ zlUv6~)xgNN*2Z+$7=Xz}03AFAH92pQ4@g&cPcQLDJ-D1{wa{RmG{;l7c)H<Wc=Clv z3Q48uLRP~IJsGZF(R{s;L}>n|$5q(dg(*hdu^Yqck_lY=EEE7F$rO|Uu=V^en+Eo> zJW3V8B<y}*5rA$DmcIsOu-L~ve9(puUp2D5`_!reW~%M44om63S_+<=TmhGaKg&#R zxP~S|0P=k#o7`q2(`-an+-CQCJ@Lt@?7{gKL&L4_oGUGgb=|!D?3B8Z@_oQ)#_krS zvqilY*84vbm^VjL!sgY@{YTt%44}bGy+wnGA1=+EXKh~%X0s}?WZT_QeP3l*wyUak zTc*&1W5BB1VqJAw$tqc1^^xCK1BcHoQ8Q8qL_VlX_}q131+mSt`;;Pj`&%ftq4ryH zbRf8#K@hSuH%6c&kcWlB>PVY943poykokh+?<2Fd^<n&dG>MS!tdjhUi>J;7aJ-7^ zwI;Rtv?#KN?bDZ@H;gEIxi*nBS%shM;>NUriK_dfz0i~@q%;ls$RFN&Qa5q3G*xG7 zpG=00tUB4A0Vs6qxL9CF2nJ!+<ZqW)%iSzU+AE=W?F!2lx4qu)VLI^%=^O(X*6|tq zD)E~<X5Kw4ht0kFxbq{_&5n8<c)~EkJ9@^yQUaQrA9<<OuvAGUY<@Qx#E{Q@xT`MB za4y@9OUN#Pm$bALRCeLk8#g2&$L?GTZ>g7>X16-Nc1_N*7q5PU+HHb_N^bnBhAFgF zC%a4gm7e8!^?4zGH>)UOW0Oe-g>)l9B~5BndRHrJ0f`=U8koJiha9Rq%8*32r)f47 zO1*G?B^7f<$YI!5JUWwkfEkP-io97nxw}gNxYWo>BhftAHvJ_$zk?9XA0FjxQDD7< z`=)!7{2rP!KpGL}=)RSd{_~K47<4CWIuv(}DZ{Qdo7<uxa1@uB=z~%ch02Q<QPR_? ziI*)|WuxF%SrA6_Yxu<)by~_%i_*~~d%j>ti;~M0P%bU4&|OoclwZa5{_+}zx&2x^ zH1ob=`SDr!o9D^YNhKs{Vj$_RcvN5r$0qq)%?zI8i(C~AbT*{X_V35x?7r^_FY+ls zz5+-Y5`giyTjTHnzjkDMiJyu`ooeIa4oazUd%&Dute~{dXQ9Va<yi~gxp{b|f4&%? z5|dhhqHRa4F0h#9_{+7Gh%mbIOyte3SW)|T9du!Ch9fruB*9d(`$zLNeP9Jx9E1ah z($O3#Xs~Owz3RG36b%&~Z%<1+$}u;ynQblt0I|(21Bu4XZDZ|iGXn7vh?F$P-=R#W z3;&$qP!Et#+1YC}h%l_0P}`^}sQNWoe$LhWUFR<fwX<`NX=b84Az0GN4SJZT>eSrd zWPleq8-NUp<pd9W(N_5xaU_ncZ8`&7Ig0_mWS!--L0(QrK_9@gq4MOW8RXgCp}D)T zGgB<N=b0z$v57rBd)|r%*af(Sl$-j1jGkGw<R2h7=BTV8P?A(-h5hU-my<hg7q7U? zhc-pC=gvas+;0jy%-@MMTh;x}mTH`PTz?NpQ8(mQO@6Jpx@vqK)wM1Gpd<#3-$io5 zKytIwvvaq4Sv39Pew`kQ-Uy4wf~6p@EgTSApjL%s{Wy$NLoIeQ?z$@}E8Mx%^mk8x znLdq6v~C*kjjXwL!4)MlHE~ZIQzfplpDaCy{C5WsliDno{Zo>RmCQ<iLBk18BCiqE z8pfQ-FQiYI`--9-y|h9?a5c!|D<0=_%e}Q-68>Dd*6}DRjQ4-(0Wttbxg#Tr@x)i^ zIC9z!0w3|zD`vxDs8H&sNJkPpn`;!pqo2g?GTr3yjsy;wjrzXdx}^>PODhqDN%FGf zPo@g_z#M_$Z{HYdKtdI67X<?r+ki-IJ1Y8tM#drY+ibGfZp>~kMqEv1TKCNuS0d<3 zpz%8F1@<P*Sy*XII83!c*XE>h$uV+y9RP7Z*&TZ_3aI!R0mJvC$=^0n=>p=e?4O_o zM0iV%7(ko8<>b8py;CJMl*Wi;!oVINqa#5zc-@-^fIBsB1@~rTeoFwEUb+$#7yzpj z45!Ffj~5$KgL{iGphiMkLA}G>=#)U?UlW3~9&5l7wBD-J{jEM3RKeZ~57afX$G&i; z$P;=k@e_+!+LEt9A!Po@Wc!$?Qe9uKFVKwXPFm)1il|O4o~2iwy$H@yB&g2RsDI!x z+Q>D-(GdWf917VKf(`6Otr@<3KNHV;F~>Rx<3ydaaJg1#O^VOFl;A2H$yv$bY}k_) zKt<doNMfKnda=gDOEqK+U<FeEAoBiY!r1}WL9{00`B+godJ5fz8)(jnL9JB`(*H`F ziGX9eBP6_aGCGC8_i5<Ben;(K{{ENu$__3GwLkdg@N-@^VSXO?d?zG_qzk|u)BiyR zh?&<yV{CBC#i(><mUzs<9s42`6NN1-!muBvNYz<&gzB7ai4H@Se~s;5p#ZDLM_R*= z1~yA-RT!2nnpHIL!C*$e+{9{XE}7o-9gfbsOHO8ce>~CU*HeJ%$Q0@NX}f5DhMK3H zn=j$wBNjh*frt_ryg#WCMqZ1v#|wcWMpm&Vr4k#vO}RnugZjpU3DBAG73f|D(31lI zR=4p%BT5{NYe;u{vJypv^a<wYliO;7cI8K9*0K92@8b11Rh}L9U_NUhlx8i_Gb7_! zxp(0~9HetRF>G|`9$eyIdwRJ^Bx8bqEg>fYXbki$-n3trISkyi|MfkD@Q}#qcLLr| zu6iAo@$U!vBPuyx{@ot|G62wl$W6Q60l><ZZfw_Q`AAKBk27joMwak8Lst1-iCb@- zTqCC8DQeTSN@Gil*~%&dzQaZB0xUSt7`$Zu;Ncc#68L3oA@v+(Pp(gkUOTYB<PPWI zk>^EcDaU4LBy&6(&j2*|7n@yVi2uLalARNfRqGhTv5cE9M@42fUdLJ(+^cam$(6OL zm+D0nG_;-<`K@T$u7hpzS_b)b0VFxU;%NHbqSg$EJ9UI1sAqS{K;~JNA&akidCv$J zMOd_D?cyz?-|+J%u{SY|q=)p%N+FrHHE@>i|GFOy^uUlHPAbRRj<^FddrHKuzkFqu zAthe#{TWN?3U=r$c*T!}7{>EOb32``U|oPp)kM!&?*Ni|X3AfaP-s#f{_)wzGKJZd zH9Mq1Kp_wV!`FDmj2vx%^@y+1UP~7815%Wyro(t_iBg7b0oOX_$(^zGbZnfNAo3q0 zCR>S%eMb|n3v-fo8)k{v=BRifM1U7W4n$xG8UeVYXyLQ9!dPr=B$&LA+;sj$D3>s7 ztb&f4kX!>(!hQTg;oF6rw7z6?7*X3xCr9M>7(pzXeqXu>ujE8xUD~>I)&iJ_L)x{N z5%F4O?k#QcmqDYHgN0{KH+<K^;5j}!8KSev(*Md8XHrL<nbOsC8gn`Pm0sWVtuXQs zZtSN_ydfM4s5y{9GTstEh!s5$x08$*txLp<MgE>j1>AZJEkqaWMAl>&8{ZT{D1(15 z&=CV6F+cfo72RA{_%FkEGFBh`&A*+X8@%T=aPCu0Ko(x&M5q!~VGT%ydC$;KKASCN zG1PzNnYyYb^P%MV6zZd6wDGFiU?)kx$mNOU?F6Aem6u@z031cf&E6=4nNmxKN=44} ziPkh6Tx$_D{czf{%A)a=@;~5`Hy9vhPA0%ta}>deYfyJ;PucgcDOix^x3gKk<#u1w zQ=IaSJWOl0p4P>Y+mi0XbobZQB4V~>g-iKPfKuXRUDa%0a4iHvhd%y^dQy2u^70eP zjM3A9mW5cnpZS48&FlS>Nn#cVV4x^>g&mJXycG|zP>szLjpZx?s(Sart2JY&O-l9j z)XN@zv&S+=q{tQd^(Gf>LiMfz1s4~L+_D0kfJ}y*=Bitvi+M`Ao)}jj+aQ$OYAV#e zBZy=Kt$~GPxkgGWc+w!t7ZElw(urh*W(+905u_aT<=n;!S`>z8&d{<d@&6?|bYx&( z<%FE;T5qgUAmBBA7lY{|o?;Xum--~P*<JWYOu77mcYVl4^Jm}egFb>y`>fqHe_vOf zrPX;swS1`@?k=`bBagO}1c|?Vl%vrOftC6*DjD*)+N~Lmq$o=O717@BDQ9uds92e9 zf&j$E)Zf{Z#J9**0wbp_oGwx*0oW43lp8w6FyxXS1_2cYzqfn76VH@6kS7;w93~%+ zV2WQtMM|cb+K}yQ25@q&jO$6p*UR2&r95C~@mXk*zQ*b!9*PX-*_yRv5x9L$J>m95 zw(kz2Az`?}=wo17vc4|fpa=Y6&Eh;Vi$&yi5S;#zWKJrG+!%%`dBDp_kXGc4?53LY zy6Kz2Z#OY2gWp##dIjkdh<$E`V(fW{gNXZh)<T)(wfNb1hN4G6YppF2g|dcFn{!6& zA$-GJlvM7Z;VleFvi}CqTSeow;}74|uP(6PpU*Flww<Bq<ny$G9m1wu{5BJ&nE4!< zp(Kz*p2Ll8^%yb6hbzJ+byuXIse#mW^Nmf^Cw?*taOBC}QLL-Y?|CK8S<2#^{gndL zF97P?kl+*%;p+V#4qp_=So5o-UQ0$YW1x@DsGbP&Ak#6c{5SQk5s<}mNtSZr%KY8t z@VAE5xGm3rzEe(CgtVxs=+(bb7-BR3tnh96z~VdJ=^TrVV24smwRRwkVEH4<JI)~| z?GSA!)U#>VMJQ9x9ROb5T3e8syx0!)zvwM?<Z-P*u{s+$6T4Y5H3|k~KM6HhbaBC- z3y4B~r7+{W1%!Ig^BM;iqBH_{Yb-{`dBg|nBGMUZELGxOCG;wWLq7Sn>fpV2EyBbl z{9>po4M3Yf2qOpd@<>Q>d27^bB+8Cnnk#YfLoUqGa?#eRk3x8rB00$egJm1iounkk zEDQHZHd7J>xh3vAIRvI-Z{8zyu?NtnA*0>y4f@@*tnzUV4N=+{tc_%>#>yuY%Y9CF zvvYlP7-FN`-e=8;P23_nEaKMeOBY{}i=5(890FHxm;<r%a4MZb&IXg%>=KaOVoXBj z@D%zKK=|{TIppT`Q<kLU7J*?yN<3&Bchi3zvG@vT|B-sUrIG$srM^R{eX;Q(aM;SL zs-)bGR#?;Kg%*0s;`a%A6*N!C78k<92*84+LR6Y`ygtrf<Z%I5HluxLI)7y;E`Wl* zQFQyj_bl(w`xLqlOn;NXUl{hI<x=+t8zAy8QAqpme?MxBYd|PA0QkChIn_1FQt@6z zjLe{7!6gZjHIdX!^dmYdWje%5emX2tFbZ$35&3Md7s(JtKQ_)3{nw-D!pA4JMC37S zcU>PS{s?%NEiVzvD1H}e`hSu{GGp&#a@jauc4r*_n5yfu@msRD?8xBA9s`#VJ_~C; z0a@I2dt3XYR3<T4i(_`?DjB2y!+2199!V}kD$yY}Cm}8L!#puXAFItuRxk@4dVdEv z+Pm~k_S2x4M9gmP*BrgLrBFzs<ja7U7}!hn;R=oyVz~dbCE=!1&co8Kt>;i-iXjWn zmGKpE$ygk@3&~*HAVr$ELpc*i>Z^nWUGoJUwyXE29+YTiDVA;1#>3I)BIT+QPqnrS zwF7WYss@p}L<so9%K-NXPzVT6RhbG}A1pm-bTTch{-)5oy*tocldO=h8)_}QetvbC z&wM$PQYb0F)zfJ@kEy6DxR_E1$prP49{;#hO=8XV__jO6uk`0XQi`*i09{0epd!fh zRQu=g!pCh`zW3=<neB4@M;2nG_zOmJ=gO^EDseRvQzv%Jud=u_vCG~O@5aiegNO5v zA90f_mk`dv`j(-R48yt#IYDsNY3Q*{yj0}kwHA!b;2kxRl|KPymrN;W#dFGkECOP2 z{j(<INNhY$Q8Uo;dA7<%@pDMzOga0e?+mdye^A7`xuvD=H$S}G<Psns$O~<r2bqLk z=~zY|GW+`k(0nP6$a8Hy%|haJUCJZmcJi9#T)e{Ds{GU?9~*#JrtK-r<2)GOnn%@Y z;sj+>($YX-s<a~Jat8#qd3q(#87}#}U5~9k`Ib-G?`lqtGWn!fqF#-kLCA|Y{gpJ| zzlhsg=H5?~)7^vaA0;Y(e#uOySS$pF@Tv}5H_r)Le|T?KA@a?}jv)1~I2VD*(LW%V ziY`VstL0AXW+%|>xS7yJT`}WRqzag=*UXGX(M2ybQvP#_(7US1xk={G&#pQON~Idp z0)sE>&JJ9Y1(~^|bY0`1k)IG9rnO?a9^W@UrEWnjBhL9EnQ1-ryR4n%MKgs02Ft?7 zM(RI}e}*z-$z5>T{{sZE)`2$Ws}HD!P=4~Gv~%Tin?FasIqu~DVNK34*48GgIXari zQ>-cHvaBgDKavoHgCJ^USyy}Qi+Wy<P&+Ryk*gs{E&0_v%mxw}L!*O<8_3M@Ke4hF zYekkPCx5bdeJj`b{QKSLK=t`ZR(wHi6*^jw8LHcIv#kuP7SV^*4_sZ{|AbAZ4<aSY z$AS#b^gpPx{x*2_BhTVd@blXho19*F<!S0-Hn8yVenuw9{zDRryq;o##uFCn)(~`= zr9{R(Dx1qZK8li`m-qD<^P!;eHzX5H(AKnt;zV$|>$O)wp<Bl4oT06(8FzBA%rb0L zc&;0(!$DFf_yvM`^%i4~JN3H?eM}G_g~r6%hhL%)>v7X)rOf+g-|Y{YA~T1ggw|BK zy{vbMTj<m^)f(A@54*UydOJuyuA%-oeks%Tm6+OVq5Nv-onnTDh9(=#;_$wm*Ymtk zSy(>4w0N*k-rO~cNIBhVm9)Wq;cKo1ZBGLa(OS+4Hzh}=ar^wM;NSlV0cVWv$B}EJ zN}6q_T+;4jE6yv<$EF50Q@i`^5Vv9x;pXYjinYw(%yE9c3O$w`OF3!N4BMp-Z0~~A zZIv9lGFr@+td<`&S{g7gqoJOQuJNYJ<XFTN&D#^C{QD;p7#4RQ(8i;GpB^yejIX;) z3;9d6p;zzrGs&qN)bUa+K+eM=>Al{vIzA?yIg;FZq<v9kO#zV^HK?v@{Fc23I}S5z z8Ldh%U{{~e2O4)UvT!+y3e<+HIPY;2Ez|L_@l_Z4+IT0J6&y&(3Cklnval4qYTO3} z7nL~J@}CWl${kmo=VB@lj$&7tW}8or(Kf>TT%@yVHIw8@A;BLQo(kv$L2y45BGk5B zgrYVs$Xeu1ZI%`ZDSHD<c$-yg1(7Iy_{*%QE>mysFvGCf$DVZZ2TWcD>z_;xV&<@R zzl+rkv2~~rkw3i8{P`M1k>$-*%O_mz!Ep|GPJuL{fD>ctwfXW{Q~gGeMI{5)W-tL6 z7s1z<4?{MBRGJjavyESf?k?JWKGOJ{(Tg?N#b|t_jW4NaR+}vsF~CjII8btk6nz>- zR@1qzJ-KnuK6$wLc{JamMFGWww?2XwX*v1$lyA_NOpFo}lc=juB0~a@(*na2hW)Q1 zkuUK7tA41G02yaE5uCZ{-xdv@&SUTfwA!2_XhQs=mppfIyfn<qNAG+0X0;aB?QAq* z3X@^c&@_J2CefRv%Y~lfSUdyI!mRy(uy9l9FTq%(bLCtJu1Tm}I$VWA%-1Yp=7E-t z#{bRPp@C$c!^?md-~jr0+!BsEz5`2p#9{4+?NZ|hzuPX_!Ji*3KWo)0O86hnc8xF= zw^cQI+WIvgE!Sw_aR@65ZhehXPWuYjx=l(+S!BUDBJQ`qh&1`~pX~`j71KbHuBKEn zQmS-|G01Gc8*xxT*gc|_nVEVIS<oM#o6}C1&IX@H%zyG}b4Wa&3qU10+Eb`S>W5~_ z^o~W105Qv-1Tmrwa_8C8*)K=#580;1CI0Pv?~#HKhvH-OWi3B#8*Qkq&e#^p-?=S1 zX3x^m@dL0Ea&ax+!Dwxk*Q%|}Ux2VAUT!|+QAXB6WR<<0KSKiD84C5}1!cdKh(0P$ zY+~oxO*N=fXU((*j?CC8^4%JQbL*%b7o=&clv(RGE$=i?qo!FW)lR3wvFtP>Og;%Q zZ+@A6=_9)vU7uA5WN3IML+i%;!lJi~Y@zRo`yZfM9%v;Rv{7s0HMA%%n97^E*SjwJ zZ(_XlyqB_>iA7#OQjno|tXU0W_(UFdJRCPP_VA77ry=u?d1~j8kF@;N-R3rrfq_UO zk{EPbuq$@Gda_*SwHL7d4ms_w$U1Iqm&3*#1YX)@d05Pj+zK$aHIcHZdYPYHFpAkp zm*H&$T7(rr=%|S#=aDIIKFF`Wy<$i+<W((F%BHVNV&^WjYL4`GY0j+nDYyToYp1zl zDe<5q!jLeS#%Gh9^`IE6oGRE6{Tp<3`ymcmmPU?h1#JFrHN?1*fXofcvFL=zckoql zKcT94o>9=($icxRQbS)knL?E$o#Np{)@-l0&zsp}Ll0vQFi5<84dgUa$mNKTI=arR z&&m&42z;wz;{qt~&dkcPs~LX!HSh+@vGM@FmlA^jogFU6j@N?nHJAM1;XteXvzCQx zOUrftaO&qDHsYnTD-1$v4eBJXB*h=k7^{8m$g8zTr8c$i-)JS)`0w9uNK_erJE1Z# zL1P7m$B5s5r_LvTrE)9q|09Q$CBP&H1r>0&mJR_+WD`PJ8tU@jZMb4r7U~6X(l3{` zcZK3nu2uQ^d3iM_6*M)?m%~_P9T3I+v6|iC`tnl*ZUl#E-|&G+(V+*=GQc}QVNXDf z8D>IYAL0mAd|cN+5~ve;NGWHdBQ9Q^Td3|*YyS&liV083bgFqvz@TW#eeG?;A|VQC zl?tLIeEkI&I41s3s+29N!*a0i40~M!)&k3%o_ICMDYiWU3;J*>{%w4bU<~X-CiL9k zZGQh}pC^)ADG{Oa=GwPA?WbyK-0s=a2Qp|G{H;uNhdHsG^Osj-BR-yoWeo+TrNh0C zl}i8!97h;Nz8S=(Sz755l!k&zl*YHCWI|#vWxiwcg35XwXcJ%6`F{m36BNnjHWBwD z1X!qffaT5e=EG`=#&U*32+~Hg%dC8IHkw+qMWOyxn8C$>>mid&%usiD$&a$Cuo%#C z2g-O?42L|8|D#ievSBmy#|QzkUnnkhJQk!8-bQFKkG+e<!x$N+`mB`5>32J+$U!a` z!qd}nfOm>0mD*xpvjIK@6z=KJYCD3p<R`1z%?ymRDneNc5BPNmC#TGyUO!7;k(q7= z@_p{$YO4A?^D~=6k_>qZZO-Jy$wHl?L_VcMPB#}NHfJ&oBnjbtUxb}xx{PwcyDt`N z++&n7IVWbX#Qw~guB)ZRl^vSwOJh8yfkKD@KzjH={i1!sZjQfUkxB-H8mI1JiDzt( zJc3j~*CgPGy&{oO+0I##y}?Pis4tSkKnKj%TmuaSPC9M&lD|Y?KCw*0BT+t4N6#Y9 zk|Gd8%*@REEOI`bK;=>?w?d2cE4k&nKVzRoul|)4b7hgbgt4$CP3k77djgU1O<g;` z6*j9iU$V;U$}}f3Stz&}6hes{lD=GlQBQ2Ag5K7Vq%8p+bCJJtMfdrttLK+vC~-<y z!0r^xE_X(_9acn_RnPbkgcZH93$hC|FgYVtB%_3pgJ9~dNhTs4^I?pKAo5&4_^c9% zE*zK(FvAVGW!{r_7%BWX>G55`x%hy9MC?NCrsTJRH6L5dZREp*D@)cCCje*oiU3c7 zM9GxBIt)p2s4*wz+OusOwj&7v!T)!*LRvGj;sHsbb0TS^mcpyUH_=Bny3{H^Cxibk z^-S_f;mQ40-B=J=WO9d=2hdP59L-gAfdytk7d~feQr<Qbzk+ETDkmq^kR|KKi`B>p znea-*FaFR<Qv6>%KwBc1kq5qufH{2wPR-isG1oK76d7^qC70^GuGt++QYRUW(`s;t z$IJFk8%`6D6;QOR$4EF7_sPlvDv_o{VUR%dt&ICDU2jeHt2|#DH&{(DP+sO^>Fems zn+kcE0N()OSB<HXKQ)qf8Z#01dUE{BtTIymIk9b|Lv9SBQ$bX-^7y^yb2#Z$BJh2^ z)w|@(nhPrH?>`g%%(}f|XNybYQHk@6P)#}-wq2$u>15%Cv>b6i5JjggM-F3K+gbCS z1))-cjftzR(lO#(n|(sgJLYRF7x{I+aG~}uNWeJ$Tff^=MC!tXfqjJzOKY|USaT9r zA9n<t|D@N{J-k+XJhD&opZ%oMy2m?T?-J44WL}e*F18338NFK*S&I*1j+cO}!g1c4 zT9A!j3Xs^KI1S%V{<6TvAK#R{@u-|NGz!Fcl15Ys1@D+SOB3i|_y*I+Xt@2;Khzm5 z8tz^9J>lf)vI9*iMs$<{wz0odPZHlQA3<9ot{p#3ZDY(iU^IwnX(BW+04}WC$K3nz z>EVWwlN%yOwoi_=HBT)%UWUUerO&YL%A^Q$BN|2e8*CBqf?q_a1~MiUHZXVcN9C2) znZh6y8wR;`d=YC8-$C9UMzdskIZsUsjB0ILlNJG(%{*bhfrd447j?v3`-vuSoXa1g zy$S{h#%K6yyQN5?!~FAfj6t~QRgHJr4Yhi@3!4S?JUSaJnG6ZVW&^`v4280viKd0I zufAeA0<B=ij{E{#^b=M<i`!E~r>_?@5ZVY1qo+2};7wrof|w!vkFb~^Ae+@O26Ocu zKO=nSnr^2nWeMaXlf(&h3Dq`cccorwd~M1_+ggh5vQfj@jz7Rtrd*0pQ9P`e6OLJf znj#Z-vgQT=IU!BtO%+uL`MOPcQ*ZJDCoVbwqEp?y0SMI2@}ZC=6_vq5pu*8M0lytd zJUHVqH(N=WB}H<5*IM1L4Z(dP+vKfevs{v}qxDeQ<P;;nd2k)uHT-g$Z7iw%Z$H7n zkZp4Ej;{Q`%S77c^GN;MfS3c9{OHq<b7tt)!1uj?`RiazWc>Zn>iLc$<&5DNyQ-Jy znv69g(1t3(d7iUAiTf&jzq@Uj-9L*Cv_#*5)h|(U|5a{T^Ff`EGo$ZV!&^N)r|okj ze5<a%4XWLaDSph1tvUCO#-8&)V$W+JNsr&Aj%)ZfXvW2ms>rI~mA4cWlt-Ai=OY|i zvw-TC6qQ)_JoHGMpU5ws&Qq7TP(MKf?y&8HRO$gg5t;?jR7r#>8f&L?7|ZkV@gv0T z1u=3tboq{1rG0(5!M)h5u;(B=h3u7tK5L!pNb|2JQ|E%C*uXifb*dL`zIiPz`BtGL z_n+oXMt(itA6^`}j48-?g}6FZVODXnDyN$z=bpa!O5AUIjsUe;tq-Me2q=zY(I8rJ z|5_@Xr3S{N9BU}4uI@FQLYfjzQ+5@--TUi%^3IK|D#A>PeY;nbCI)S9wCaEU90ZFt z*V~%GwtHD!BZo}Zxuzn>V+#A{Xh~?#Q*Y^Lmdz~U_Io$_E{*%HIw6(6bv?v%{#R)t z2E5?i^nhs~CJUGQ_RZc(+mx32M@wlh_lipxY7S2_vw6wL+3E)d8f^6|Ha8&PDFANC zk(Md|u?dXH2`Ei<_oA2QrrSxErjOyzIV%V*4kGl*;U&mbHnz$=WOU6C9JKdF!?rAA zFe|OBv-v%^?7mu-kr177Uxb@xG|epF2bQj`CcJ)srP=g1@3R=K*-zd*`w68$<B@fM z7$AlXn+MY0i$3mZj0^w@OGZNk^mbi(@MMK2@lYSZQn#%C7R3w3026BDg2e$cstkIf z1KZ=2cAsBNMP+dgtC=i{W9cv1%NER)za}+~N;?-kD0v<y6*F@<l-k+9H&ACsj5ZcD zHfm$ecoiHD6%|L`aa|6P(%FW<lQ8hbQ-+3yYQ|2^E)A??l$1kIa1e2^_66~J0CFiw z7&w3S7xQGbNtDvrm}Q|s({9ulN=llslVekf=DmAr+zC(y(`tLGSW7h8yU{UQw?Q-1 zmJY`qG<feMnRuD$H?#R_bBn?12cDcU<uvXde%b4;X;p0olfZwcXqiY*h$}s>fhxHE z`tbMAKYX9*W$(UAitX~kYx4&-^V4#QeS7Qp#gl0VZ}kge0M?b>3WeTH-@fBwg98GR zz|^Q^<U7;c1paIhz*Ey|8&qd=1BqzxU38<Cj;wQ$szluvo_gx(Kr^uL3vz;{pov&> zlX?ATA7;V0J$oU_rO&HI-DTM&j1g$;`-mfD`l9!MNiO3ALtAZ@-MikkU&!)nw>k4c zv14;gPKde?fa>rOz**XCJyoQmm2S@o!-PNmJzmDBwD{=B@i?+HoIku~{Z0}jMV?8F z-;o!236Dz8AghZfQ`gn}iQo<1Sr^))^5vv+d>$k#pJ2lMuu0T|5rof5gfG<-fX=Oo zgoCpTZ}2<J{JXzgar$`T0zau~Uacvv%f9oRZTvlpL<I09m|}|HgUvpgYms>*M51AS z-i$=<44X{~9*<iYbW%?M(CVdubc#msK@32-h@Yr%hR2p6OgP`o(#+AXP23SxKTq!( zqkUWlb+_<(4H;6c!;wy_8s5QFBCe)&;Q$;Zpz4~U<4C0AMYp3Ck}*@2vwj@>aWFgy zAV>?4^=C3gjo{+3+4%#%s1sP-S*{0F)-ls1fAk+wzY%HFaT!|J@fUS0w~cYN^xSo~ zb8#f!Bs}w3>)+)qLo4_W5~0jmc)fa?>kB|pBxGEnoOMoU5V#$Yd{&qs#we9DCQO0H z;{vSG(%>G;hlYCMN`6Y09JIHRE;bl}{`Z}ve6lG~*fbw3zUFAR0b4I+B_>PRXcdhN zNO=9XOKZ|MV<g&yt}3N7t`BDs$fnc3E28INs-;q6ftCYvx$?Lo?Sczd9k%C#!>26v zWo$=fa=E4$U~9lM^Gx`n+v2eTX?<(4o~~U<jA*scZm5KnW|E~y^6a|jHc#?u+hh1n z0CViJ<_hwk4^UIDl6t)v+oq>vS5|TZqcV}29zDCJk2qev_X^V0^Ij!oho4k(x<uFD z$e+iLv}M@VG?^+H0+cn76e$2v`)M8j@G>9toMn>=!Fowta0!Xa;hnGCP3MspBZz;B z*(4u9^Y?JNEbgPW5qR8bKHPQpCIQu*fqh>9T)m@E4m20>JIucBYF4vpTl#3#KP|o; zfd-cmV}PST$xxCx+k|tG4x7K#j1lL*xJMRC**0BE6c10oRKxGoQ}op;PG6U`d@QMV z@N=6V8`N!^F+X0jiwGEtES;tG&`nxFeQ_Ikv;QZZkAGG>$e32BOeyf{#o%Dsh$a$S z4P5aIQn|(`sPma&{6%$+-_IL=f1SXj66!5B&y$w{=i!szykpC4n=D)3OCn2q$`1Il z59oIxhqkVX>@<_?U0N~&{`~J^Ku2l7ku8Zf?4mbRXC72?eK<J#M=wzsXV6_d`jymS z<po!Pw*uh7e0~kuLeRQ12;n*$oXZ9jC0Xf27_)vCN?*R#rSv$t!+<q+M3)y*3Ft)_ zn)tj!Vk1aZK*|D1mhlE0ApFQTha}fp2ClBw$IFXHe_&7PzO>FhH8b>me0>gemY4Cg zf8EtB-lm79kQ;Tm;(;s5sJ)M>uEkafRRr^d5Rk(|3dv3H-n(e=oxL5;F>gca2SO&T z$#BqrUMhrne1Pfenwf8Qays3g*@m{V;ZggEOy`BEj6R9;f}I6Qds|$eQR|UyQn5VG zVRH$)XwT{VLEGcz1?MTT>$Xai5nbnGIN21>`MNjVVv17-p5Ix}HBL-YvSG?kqkuYw z0AdX2Wa%VxolXEV2jbiK8%bzF`;Ki6v{$9jj($_Q-qMe>g^Cq4{b*gOpZQageoV45 zb^T;?2ttuCa-Rw&dHd@^v+sqX$fQeI$2P8C^BkM?JEV+s5P$U{3gPPBN>T3_x}UH$ z@N-Yv58uAURYNzI`I7lUCEKH#)o1hbOMwgnx7C`Hl~1LorDMKrM=P!FmtB*(k8|x$ zddt0o_u@c}wVEL;b683Yy=U-fllNu9>r3QRA=-}B4b!`)kXIs{)ODX_w~at;&eaS7 zMuZsM_4DrJA1mCRZQgiUn)Oytvl^l@!pJVw1#5o2T>OR(ZK-B5H%M#MZpR;=O_Gnr z;<#0D*}Z2tx_0O7qk8%pZ~4%?7%_rddq7|Xk~|~WqjC*Gkv&D#3Ql^w=s0b<`0(B5 zNp0_K!=)2}{+^yZ8^IhA^Z1{zKjrcn3>85h1bE=QjF$kG+x=urLATFMC7?1p@W)pM zD~pf^&zi+J*(4m5-zmm!T3G|vd;&k%p&g2JE@Mqx60|&TVoxA**>}wSLa$A^Y9ZW> zZFI%0t^wC0v4Ln&cOSdAV?>QHY}Y%uq^5WVez^sz>f9t0XI1!C7?k@$w9&NI1Oua3 zck|fB7Po^`{l*d`xSiSan0GG)23Id$-nb~Oq+7158t-J=w4d#gc|EM-93?v07Q?Mq z^@Q3_nefH(a((?)Kh!>^&YzdJBpF}~x?NN19pdZOzZR+2zl&hY*cIIsnh_G$sBe-e zwf%Vg<J4%nbvKy9Ud8ibVB|E@P1mK*G{)i2qRro(H8dKHw*EiI2coX@E;@LP%6G4q zmX`D{r*fWZ!2vp2L3`p4CsR}xYtjeRq^Hjmgj<fu9q6`!+4hy@+~Pid(;sB{_+@VI z{e6G6J@42hjQRbkxz2zOroAK4hzD`qxQxkQicgz`l8?T^p8@FI67r(=jqM6tE}MjG zpoJI(YGtmvwlit7rQD=$Ypqn%^4?;sAr&rYvyqj8qSl5t9Byh1v@ZsxMo*V&Y7@_+ zbEvW!F7wfpZU+Xr${aj9s!`I`(UV4h-4N*{`VV@RM;0KtP~U-MTZ+e3W!P>I>vM^~ zxY*Y78_tJ@rB6fmG9kaG{0<xZN}3966}*(wZawz+7x~(67XQ}FpTdIDOK5LXtKpu$ zHLEH&ynR_`sXGYnD)ds;|4P>N;a*mJBQ9!89n(?OYa=1O3s0g|czcuPp|K}RU*%Or zUlT{aSgma;U8>mKfNJ@+;KI^DQ*$J0WIm0bhD-Mg*=bG2#zE0_4At+WY?80p1exAD z%0)iNgsrj0gk^}jmop!*69R9nRlRkWdt@pJ;OnG`c7vG7hd#9ij$vI5Nntd4H;eF( zbfj{SR}Sr&&<lCu9j*5JnL*@Rgm<-pwBhMZ1E`2E?$2B7tP-sX`%#h8)^H;mD(cs0 zQc9Ihs-7YiSQZG;<XUE1I?<i6HXDN1An71FYl(6OwVv<L0}xLq3L$V#B}#1<+ZDX- zt30$<8cbH)`gAeMHXZd$n95r$j(FaR#q1?Xmx#S46m(0}V!lYI9Qe|zNb{`n4n8(C ze4JiwH)9<tR;yFD`E#d5qNzyesMeBKz_#h<-CfFx4#QFTh@#=eWKS~k?v@5W&oxcO zY!>^Gon^(LUdwb326GwuqSf7ZAs?hr$<90wSM*3#ZSGc5U$WjeVM~(lO2hq>9!MBV z^%J{WgE0E{-?qO+Kz>474-HN~KOc=fm!jsZK8~!~j*34V9c=M`jt%X~sFNYQj{#GP zB0hgq#@Ru_5?c1_J03Y`ni)~gzDT4f1sRN;F}`2FSwOC^v%SNMhS`kd<27Q5TYX~+ z*j6;USG!#J-B!QD=r8&m(Ah4T-zpix;mj0~g5YQJy~N1YdfW)#kt(5`Mi^~Ze<&u` z?!Z}P&&C8dBQe#-L7TOc@vMq>wVwu#Tyh@tFT=IkzD@4XQ0$=_>ZPuqS68#)-HXb$ zT<xp+H+Kd)Fqg@#Ju?M_>B6v6)vbWO7YRAGZXBDAA|>a)mlj%g{M)P2yzkl4gYbML zYj(vSk_-$X4u2NbqjyFx{)8sKK?)`5Ef&A~v4AqWLGWGhYi^G<isqTnj*htvSQeMX zV~@s0r{A;&v|Hb~F|8|x6bi^Y#I)BH-Xme^5c+Q0(*9uI@|z?9Cal%GiA1jpiZ+cF zDyqk3AAata6`!<<!z`#@o*X1}oG=46tmX2do*)S8>N(7S&&n9iB)<L!>N!6H-bZLM zOQHs%HH(tIN09*r`AA%*jcMqfp|NT=KbtX)cjPVNwd1{MLL(JUYG9I2(S!RxZqgd% z+{KF0jQ_lTxmH5e-}7R1?<~MGfH(^&Z7rPtV&=lVymRtmb^{eJ%MmkkOXkGvbp@l( z>$ap?hJc44&;mO=42f=o_)i4#7!TCpa-1>d^X!tFmdk*9`?CK1FRTncfydUnNlS@2 z{pW~7MaiauHikX~`ybM_wLy_97=J>*Ix$Fa3*zjM6OX?8X9}Oe_(u<}5iWt(@6_|v z>A82HkZLsQ1~=E}s_8Nyl}qM|>Y`xd_H&&!J!J1p#P~s7b#FnqWkQ~UZN`^L6+VS3 z)uPuwRLh{LjxS!0zpk`xS*{<sBh55Ij!y<ZM(esEk!TZShSGRh6`CJY+prl0ew73! z146_P=_gcZjPuyoB|Vrswob0yweI>^JusiGKiW81Pj(%zBxxDwICT*=ji<Tfyr84? z?2v63g!_7~k<twiMR_o~n=_k(4zJCt4=-|z47bBsyxz*rLNOy>V-aiKeg|kim&&b) zCjxRdB{a*FcriLn1aC*$TboXP7xO{godR1<m#dp@i{1HK>|9+hVPfo_I=^ijrdCE4 zT(?_ANzFivn;KLxLC%gCTuwxu1fpwB>|fCpqRXEW;{=l)oy__;L!}1l;B1wFKRz<y zJ6lN@2$oTGsFF)r6lb~rRH=A(n@{`vy`EzIS1I(=5HVEt8*rY7=lfj<!OLP(9o#^p zwL)C<jeve&c=aSA0T1sC89h7q9FvnTJRA9mZghzCF^T3<;;jv_0+?yV`)A1VcP~E2 z?brJu!l+_<3r#)SZ5x1g8<<-iSe49_y{A~h89*(8M9~_Um;Vv4NGkm%$oVzL%|M{i z8LGguCPK-ba1gAGJsN)l^h?zmLjOX;{O%KI1w>BU+-t_7-T5ng_6-qluFOvSc6~7& znWon6?xc@@#H8@LYk%~$flhy|U+rrUF1u*-@P}G%L3~RWc6xkq3~VVSEa??D$M57J zk8vrN`+mI`%bQnzfi$9asiVt>zR8jS_5pOfgS4rG9_;wP&YC#Zu#n<s6Je>A9qVbW z@!pQiO)=T^qDzWx{AGin;sHD<Q6Fy>j^>As8+}8^r_2UV4b-D?MpeflMR)%1zjjw} zM6PRxYMnY~bQtOxAUsp=O0oi$rvdN8uNusn8*?!1@GFjVmC~(@L#htHIjyZeAFtZ4 zTonoMYw5QXdG0;y@yk*hBv(_pxnBm7+ATh=^7u_Zp1K<@wq7y+%?AxHDvU3*)xLBq zm)d*0Y}eB@K$|(qhZ{dCH0<X(j~T+g5{TB))S7`PqL~E`bhG|0U)o?rT}CNns=@gU z|DgGwp%EuL*SwU#U5*fu0;;mS1$h8Pq~09LGl)Fi2IKC^2d$~kF@=?D2o9o%&k3Cd z6W{Ks4*rrdUpV`mP2jDD8hIwme>}b8^gi3|*?MfzqbQi`r~dCNG{dt$gOD5QmW>Kh zl|uR?g_x6t+ZOTD!hD<CwT~-<albA`5cvU+EV<XbtP_}^taN<lbDCVJ=VSW+0M$S$ zzuBa8`_e5dA3J~Cqsyeh|9ej9Dw?Rcs|=PuytYKNNStdynVB?J2iDx&Tx}(3t@yUD zNdn_rx~4WqFpi~LDHs|Hw19D(0LU42<;-jffP%s>gTkK_MZh75`bo+X96CHpK5!-Y zoUgreZ4Kn@U{EuZKkZ;5*pLPIQB3XywsOw>+BowZzTow|&0{;5fisMEbZtzFV7adH zsvI1iJBAkcHcA`Ex%vp)$WS>6UAgDn{Zw@Bx8e4aVFl9jM?PiIn3OKN>%b%*_~dt< zXL(+4^!cMqo9>jwpJ(urQ{>;)b02W^R%k$XFFdq^8GbxZezdxVga0@V({1p}qb!(k zO1T%CUX;T^WtRJROzOqunR1I|lX1W?INSPi4<C9;j`#yl9!EIjarAtgBwt&G%D9)Y zayTZM1VMm>%!sn^*hkFw-gC$18{fODIrM<Lo5w%($Y#5;^ku*Oc5Kf7&XvvG+wb43 zyYu$aVw-Q}F(9qI%gT6|u_#?dtvm~?1vno=H^E>WN=wr?lNOwOgkTKJ`J~-oW&P04 zh#YgT_vpEM1Qq8rt9<Kix7M*RxY0>?0<_lZWk0*Dx#rsWuhijB9)hPVvXVEy_C0tg zT=ySu#@fh1H`&-3TEK_r>axX{yz-z+{>YO;$qDRhue-M5B3G^GHonl1qi4=zWQ?6& z;9FaE;!$~6vxo-cdMc&RfOhx#!4F)p$+`^}{b}XXbC&Obt;NhX&_n)sK!emzj-ees zc+jR&g#*o6+i+AHD=^6uZ^ky!{>xkD<!*iJxV#8B;DO;t*Jx#{f|dy+*LWNz8~j8z z=mihW;DMttfL?lr=h|!Lmld%M^1QL^uw<+nzi1z3Z*4h|B_5Q6&qS887k~faY75TU z9@^2O(SlBP;fGebXM3)}a1TG^-;Zbb-S4FXAB%JpnXv^QJcE}{phe>+_Cp@-%hwOj zARO^0FJAB!dlY~H?nGmNgog>i3A0t`<%R0&ZfTm6j@hbt;uFf!j(f|1{hGDSM?ZZ_ zbNO{eFl9s3wQKLJ$|NLZ7zj9sz|g+??OVIRU;EnEDqOA1?aGIg<d>HtNAQfA0wzgd zfCcBciPGWmGiwY#Lo>M`C|FdCezGu;B3<;oi^|(C2iN5|_<}PDy!JI^g3Y*n;2kW^ znU6vV1fDC0XEG2ZC{0-o#t1z#uF7Eq-_>PVPW`A<QM8500th(m1SVN97|C-m8MEO6 zlU5AV*Z8!?&pr3tYM7SdFi;KzcV>yflls98kJd_>Btat{uekh*=0}(QsCmXSo>7<Q zSc_;mlNLYOaze&x2Du*(ZCyr|^h{T1BPUCH$iQ=fP@*diW?{M^0=$^GQK_}@gco?6 zw`F8z9~^X&k@94rJb4L*|5d(t$VYl*(+f|q1JCLLvLRzjj8teh+;~H^DYmrV{`)mQ z`SDMhxw*M2Co2^2@vU!ttB%K`p>1E4+43iHLI*k2WAU%YKIXC2rZs51XmHilSJhz~ zba)X#Ljx}s=kr;%Po`vyHn3FIuD2*}cwKY#HO*C5UR4_~;W;!oqJzCfj>$t`0x5g8 ztcn~hhhu|+pJif(zTlEiC24pGErAg{!BKf!;FWw$2BOywuWaiJU-&}R{lozfG6)zB zfcM-}mY5Vjzh%um%{Tt5jQ8!kQ?t{KWzylG(n46JtGL10FdrdM7U2;tBK-sbu+>T# z%*GTv%K15$z#2Ef1CHOgDT)$!UjO>nSHW{g0S~QeW=cX+tx55+&DPDn`|MlSNdDzt z{$-u)kyqNHzD2XP(g1d9OUrit_HX~TnJb2ke@f=S;KR)@+%vIY36JG4X$1(%@{(EZ zb96!4B$YRCG7j11J2X2g8(IX5x4rFc)dAqeD_Y^_Y~(0ePiV=^t6uf09v<gq5uK5j z^RJ!#wdURLdG{h*1}O0RZC6_S>(|fgv>J7p$nZH-0fqzo;UE5Cb$+w+Np1R_v&GQ% zCx7xMHPFIMKIAB=DA=4}LSM#|@r{P}zW2R#ts<UdSKvl>?u8ev2f7tp<%dJXMgESl zv48&Of388$5~|p5bmdw=k=OcBW5y;1IXT&&4_)%OXGrCiU*1xkUhshzZFHhivCi}@ zZ+T0tyh1ac@qj*j!)1c%&hiazHo-Q?gbd(AJ6{Bk4Z-b)Z>>{3Gt19nyYgB3giiKm zWy2r;@gLU!4qk7P4-KJ39x}74BD!E_ev*4^Qwvl+yrKiWZ+`Qes~+iH9;xyQN8!2h zT6l@v-|&Vv)Mag8uxUvn0lyP<ffWRl0yOmj*rquB-6hCvzkS*1`M86d9qzfj*?Wib zI@$KS6hU5HiJ?@ALzpANbt^H$AfqVferi&RWH2!*=Y&Xbo+&$SqBJ=C#!Uo^R|d!k z(iK6ES_(Y^)GfuqvUuAkJJG0CrYz;a!S}7V-ckd=^Pm6xYUFA;2FB?H6ah;<EiWw# z3Sy{u)jCllb8_&MjUM8FbfK(kW#~suN$D{Xyu*P;HT~(QpI)!EhVbH<#nxIP;DLb_ zLlkf`Ue6d2deZ74UuEf8tLnusesLAE)*`s{Jy!y}vS83XI>`_Wc*sKXo-rF?2OR9% z-}-ii5gyP*RwtLYPHetQ7MzA|*^QsF=taA7oXEX-x-YG8$z4nB(jQ-1*P5z)@F9Uk zhMdrwKzLA5f$iDq(#npE;7A!Qbop%LOBeVee+fML1aF7!cWAzM(f2ljCqLc<A8+m4 zddscV*4dpeC9(mwFOLdPLO<RuG$)hTn`e>J)1UtI=A@HOs>`_qKRn`#PHtOsTcwK( z=`I1nIoN*iqe<}O_i$^V;OC|rZz}eGOO-Xg>6NS^M|99PU(nLmT8{7N<#{0io%Dha zM>yC%`q+V1sAuF%=JbYNG=km6aboFNXc?<Gm5oiH2`_wxO_3E{f;CYK5V4n)uGvdo z@{(Eu{`sH(c@^fBKl@4ZhX3!MDl^~v&UwxCS6$v*aL$*T$CbAb5Ca)vF{S4GtH1iI z=7leOVKo+AH^izbDTWf>@s4*?fte^FF!yy0ynUk9V%+X?nm9(4#DG8Yb5Or=62Va- zfuY+u<KrY8$&mu!=fpnpRC@lk8{o~1;zFg|JTCOf_xaC%zRB7_0f!@Knxjn~K`FH{ z<05PFLJK+=w{DI+@H3KUJ?mMOo_{NQE9$y3Rt7`nYRyX9f{}!8<t;8hqrCd&H9Q8P zB{x?B6h6^{SGb)s_?Nx(WzFSRTwVk9hsy>SXrmMP(I*A&```cm$`_}4<ttxVC%e!e zxQq_3<fjGA=<#cV4UVE^@x?EGu^Oq00S|4x!ObDHngww!5A=KG5FS7DlNUo*fze?C z75Sh6Uu=(ak*9KPUM$RKr``k-K)s5{IVHTHIkv$j-~j{Pw*KTL8$7-9o$s9QZWj7q z^P1OGTlTySFZ6?r547?LvW5rGx`bZAL>JoSZOaIau9eqX<y+n^defWUREHSYTx=S> zbRa)FbuK?$1fO7K{LC6wlaS;}5BwS|cmx@IM22XPV!!B60eG8>T(x-d$_~Ji?|}Ue zsPFfG@Si`}JYcW+H=9(Z<{P|8mf#whI!bJn&3lDa&*7}H?Cy7e_jhXr$$sR6ht0-+ z9qE6=lvxEe{0~5sp|Ict+4aRKSFPHn*?Rk(ixKSHJnLnzXny#;3!CeH^xYD)j<4fe zm}6*!%>XsO8I!Ru_c#QjaWBnklyGVR#eIgLHp7IPKrKKZgxF<@!UB_F2t0(W7NKwk zaChmBQoJ9-p<J(#dEPIflVOpY8a)OJ9~fjHAZQ5~_u!zE=D8o)lbs{uCHstHkR$n_ zLCcC_(ZMl#Q}A+Fw7~5ixQ?zlftH-su8K$SzO}sWcxM^Q1v@mLOLCp_z(oiAdBza& zLk4KoZ6Z%e84HG`k$nIFKmbWZK~%QMSUG&+uQ&Kb4$27d=w}BK+Q~(E>)iwf$A=v9 zkQy+&=_1hsn!qO``IHO&@;FamR1R!TDxafZ;5is7Z~7uPLBn%DIQ#++FL0qbw0iEG zJjh(YSBY7(N>=HXqM2;?0z7l2vT|fEXbPT+Y=M6FB{12gfSy(noalE%6Zpm<t(M?l zVABbEiX9n~*R4kb9fm)C>DMbmxXICdc-Rx$fsg-qwq>yo_XKp6go(rt{jU#I+aL%0 zYbeR%wM;SyuQ|dap)>gm<s`ukj-wVi{CC`bM;&kEYZJ8q8MH!Ad-~Jrc)*!wexZ5r zA?3yQ(qw<_U%ji@`@n;n-S<1N`QZf@HlKX^8=C+5%2(HbCO{CJRtqCRsKAFPN)b>K zkqJi&No^z0rDj36vIM8BR-)Dd<&8>&1DD^h1U5s}%48r66MUN#Fbd9v9{3&AI`X2^ zMga_?A3cHV`JQ|1+1z;3jWxibhoL{Jd?Q8I6HZF@jg$|3-~*Lk#?`Cr@Q?r#W6%9z zN3@WKN=2Z#rF6Bfxn_Q-LJ&3(%>i}63~n2cR|D(Ls`1IEUkY4~!!hZTF2kc5A76Ns zSLODJPkdr=<A>-baQflMJu+rPDr5E-XQm%5Hnu{pbc2?^{_DRU+g5^uOzGHGZMUzv zy|y~h#tsBUJsD0)H+VU#v^q?Dz}c&hQiauSBf7{Oy=+DTPw*ih@T7+w`LO1TU-)7j zN&&B*P1TGe{wSx#$p5q!BPTd*cCl)^GEQ2$>tw_p{^BqGq6Vr#Iu_W$9AuA!$dO-# zwcV-`<jQ1;U@!3_`f^OgAy`QQqSzoH!%5Ft(SmZXJYq9q3>zg|W%&nQ#S-U!;ENl| z=m|~K0^~T5eExH17J|2G4w)-kC>5jI?E(8V@B8cjr#bZnzu6pd^s&uVKfR>6eeK<4 zoa3VAZ%ecP_kQp9szJWJY?-h2Jns18Dp45HH9-uciDM#Oi@-RO+Dl7;V-Xx-$>+LP z5LI$h{)urj7(avj;4=(LK%W4%%dWdLzqsNTRj?eIBWi^(8Zi1L1|YC$)fp$jgKG&- z910FW5FW4+-1@=Gy=nMI3u6<YIE4U<9{0(aGvZUrK_Y7{DKt4BlmZtFT~r3_Cj~Cs z(GrjsJVDQS5!^(&Bpa2_y7lYoc$#ap35dFe_!GQTV1gn#DxN{a_qmTY0pq&wT~{~! zT~&gJq!KosMMmsIK3zm<5DxM)jw--$<j7nZ@W@<X1dk1w1R7*Z%8Z-HMUN`7Ar~?c zRQVO!1!cP6bFqU#@Q3MtP#O2}5;}I=VScQc?fPjE3rhUKwaNsI?2})(=h{XmQa>5H zw^iXyERmNT;9c4D&hQL}=X>t8XW7c{k_u~R3lQNcRIxAo*}4E{w7)1u=li~U6+xP% zyy@Djo9oJ8?Oul;+U&abfz8dOrL$M5T^JIEC>UX)GNw5_rBFnYfm&1Z0zrg=4umV~ zzH8_Ggb_IHBgMhd#?yWdo;-|jbs6AxZeoLBFbZ_T>lvX6VrFC+wwlc~;SX~(w1x(- z{J??>Tt8h9@C04^1mbZiQZFs8(SasGN~=$|gnr26Yv+8eR$PPR7aE7b#g~>PxN32& z4&5?%N5KvJ9N{4wdW#(0V^@X)v;sJsU?`ZJ{k5}eK$K_P)aJ!GJZP23MT-p%&c;4W zII;6VIvWJfea@*HeOVb_7r4Ru`q#f+E5||b#^r--H<DAaSwk7epKyG$?Ka!i%KVUr z98z&v?j#`MwbN9@?gfX?5nJQ?wYO0!27J<+dn(M|_>JGF%f3u3spu@R(O4KH4|4P@ zIHE5xL?gvBjV3-yXJlP_lw~%puT=nqPzJ024FI5Q$j8mMECKI{W!7`eo$H$axa*E) z>k^=LE8V+Qt1ON!vtD=3kLw{!6jok9k(^@^4$m>R!;WR~@K#$_1qclK>kL6FMU$0b zxUY<)+_))DHq6n$gF_yCq6xid)rx>OGz(CnLsyH@5Ug@rlz;w@lfc&+00V4+!TBAf zD|$fTeK`|aQrT&#qD7^nWuP@kE@TwGLtF0UnEN^QgDX&J4H-iNZ&2C57<E*hj_H6L z!KWkV^e5O>-7MJ7D0qXOhZneXvjjrt@Q@K)lkn0DkIdbxjRo)q$b1le?zi!`&pjgp zKQ?Dvn?LQi<4&b9GC#SdRojJ};2M@fhhT?S^q>{*o(WLoX~;~aq7g#3lgJl5x?$6X zb~Mny*8_DFYz4-?EkH&o0O;bKc;bo8KmF4`Rphr6V&Cv5ZzwhEgPSc2@%O&xz0J9A ze_QkO|MP#E1B=0Zt<)d{>nA8^)o>z=Bw>(KJ@>iKtxl!&bj%};DJ#)0DOv8VHK~B9 zn_*$J@iEO`1Dhha@{=UIpn*WzP8{P9bWQ6^3<7-llp}OM$+e%PY?8dn1z!7kzx*lZ zND&kyALYUwJe0Ro2@Z6JSM<Y&2KUFIC3$iLGcs@l2h2&~PQo+XQXD6}3ABVa&+#{D zYRd>7FyL|CmJztFV*{h`fE#%1GBmq~=D?do|L`Y853ZfJQ(rk1T_w;?Bd0d}QRjG+ zLPu=BT`u$sT6_<0>?yx?-u8K02F~HYPvk3a<l#uZ;!NK$K*-dfn#2|X3x;og^P5Ub z@Q||8vGs9Vmge);%|*u?*Svq#uFW5ouEw^-k<HSo+10>mvnW;hj5W9yX0&!J1<~BM zMZC8I-t(^aG)F(;=-L(2HBipD(V1tSSz*RV+RP6-hYQ0Iglow?u*}G+`Orlnc}9S6 z`^A}3wtX$%HrtjUR{k+)!Uu=&3Av3ow7}t9%hH;#d$%YwmVdeLh`t3<%XxjY_{V+s zCVd|KXhtgoLxYwK9WjV`yz?>(zwSvXkAL~qqH1V0Hh60C1Uzurfa5T@;boDzif1r? z^E}T7STvxCj@TSLZJOKX<HMil9Uq(!k8C=;w4HK;j^@h*M|hg2HN0$qOJ-!=>*SF= zI2&Nkmk(^m4e;k-;+;+;cE^^LH#X@tzu0T!L|^X7Q`#Km{|27`V*`9w!|;!OK5wV< zbY_TvOxYlPg^o(YJQ*++dCym<u{qB-_{avDJm+&_N#w^C$=5M9k!SP#%){oJeFLD( zT4}zsVbf9T?`&eAxw`fa1IufRW0zLa?z=VTto>#4>LN^IR>qH3mtd%+2r-5+NFjUd zxkvNEAN;Tm^fM@}LIa?Tz`&<*3FTk$s#i4cd*A!&gaIRz4})OLk_aje0S>wZDnZ+X z2LZy<PV!Tfw-Btx=ip?+2{<1C3ZBLiG_AeTC!v|K>3YeB-_&-!G-#T)jWGDz`50tx zYTs+0Ctv$s`y4+i7P2-VZw$s7D>TFy!Ppr81_C0t<ID1x%gPv-Wilotj1?NL&`KBd zbZ@=d#vw<+ZPPc3e$VNET+LXUTsZIB^E*zXIk*PVKMs6$M}K5vD8??=d8H2gq+vMP zJmsA1Ii_9>*}%i50&@_&ln-7<_sD_&n9wkzYu4T{4nHM#fhIWEw%6MD5qy!;#xOVN zxs9`Zp8V~5?epH}o<(15MX)x$&W8rk!59nqiz#wRp!Og*!REV}Fu^|=8<QmiWqWyb zFTcJ4&_lI^LEb<8(?4zI=H`l`bOrA%{pMYY)9+jZ+@8CvY99IUqiTROSgF<c$RhlU zi$gu6%xoD;B6zE_1%(fP<imAc7NP|Y4nr6g^jbKJQ2BMewLVRh7+*n;F#!y9mEegJ zS*{@nFnYKoG^#=1)k;MN=N2^n^<V$B`JLbSohl;&HvuA`7^~2wXW;mwWSbLMLj}HP z?zM4r#m_i!@B}xfQ|SoI2J`8FJjO|2aH_+~`=Yy-K*~;x5xcK4AVY7$7{4VKV`UsM zJdcB8R33J~))+mT`Pol@R)<}bL&q#B<>`+d;>j2^Tk*a!eNV%Sp%ymeBUvg&w4YU$ z°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 JPDHLkV1h!SFb4nt literal 0 HcmV?d00001 diff --git a/web/pgadmin/static/scss/resources/pgadmin.resources.scss b/web/pgadmin/static/scss/resources/pgadmin.resources.scss index 4b6ba733d..787f83663 100644 --- a/web/pgadmin/static/scss/resources/pgadmin.resources.scss +++ b/web/pgadmin/static/scss/resources/pgadmin.resources.scss @@ -1,5 +1,3 @@ /* All the global variables, mixins goes here */ -@import 'pgadmin.variables.scss'; @import 'default.variables.scss'; @import 'default.style.scss'; -@import 'utils.scss'; diff --git a/web/pgadmin/static/scss/resources/standard_preview.png b/web/pgadmin/static/scss/resources/standard_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..64b5eb5079d300f80bb06f8a4edc545fab0b18e3 GIT binary patch literal 33349 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%0A4U#P!oNirVJo)qlfSqk}r0*z{QUF93A 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 literal 0 HcmV?d00001 diff --git a/web/pgadmin/templates/base.html b/web/pgadmin/templates/base.html index ad9e75d5b..781a09246 100644 --- a/web/pgadmin/templates/base.html +++ b/web/pgadmin/templates/base.html @@ -20,7 +20,8 @@ <!-- Base template stylesheets --> <link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='js/generated/style.css')}}"/> - <link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='js/generated/pgadmin.css')}}"/> + <link type="text/css" rel="stylesheet" href="{{ url_for('static', filename='js/generated/pgadmin.style.css')}}"/> + <link type="text/css" rel="stylesheet" href="{{ url_for('static', filename=('js/generated/'+get_theme_css())) }}"/> <!--View specified stylesheets--> {% block css_link %}{% endblock %} diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/index.html b/web/pgadmin/tools/datagrid/templates/datagrid/index.html index 0f12665e5..30e87c558 100644 --- a/web/pgadmin/tools/datagrid/templates/datagrid/index.html +++ b/web/pgadmin/tools/datagrid/templates/datagrid/index.html @@ -49,7 +49,7 @@ title="" accesskey="" tabindex="0" disabled> - <i class="icon-save-data-changes sql-icon-lg" aria-hidden="true"></i> + <i class="pg-font-icon icon-save-data-changes sql-icon-lg" aria-hidden="true"></i> </button> </div> <div class="btn-group mr-1" role="group" aria-label=""> @@ -324,12 +324,12 @@ title="" accesskey="" tabindex="0" disabled> - <i class="icon-commit sql-icon-lg" aria-hidden="true"></i> + <i class="pg-font-icon icon-commit sql-icon-lg" aria-hidden="true"></i> </button> <button id="btn-rollback" type="button" class="btn btn-sm btn-secondary" title="" tabindex="0" disabled> - <i class="icon-rollback sql-icon-lg" aria-hidden="true"></i> + <i class="pg-font-icon icon-rollback sql-icon-lg" aria-hidden="true"></i> </button> </div> <div class="btn-group mr-1" role="group" aria-label=""> @@ -370,7 +370,7 @@ data-panel-visible="visible" accesskey="" tabindex="0"> - <i class="fa-custom fa-query-tool-disconnected obtaining-conn" aria-hidden="true" + <i class="pg-font-icon icon-query-tool-disconnected obtaining-conn d-flex m-auto" aria-hidden="true" title=""> </i> </div> @@ -392,55 +392,57 @@ {% endblock %} {% block init_script %} - require(['sources/generated/sqleditor', 'sources/generated/browser_nodes', 'sources/generated/codemirror', 'sources/generated/slickgrid'], function(ctx) { - var $ = pgAdmin.SqlEditor.jquery, - S = pgAdmin.SqlEditor.S, - editorPanel = $('.sql-editor'), - loadingDiv = $('#fetching_data'), - msgDiv = loadingDiv.find('.sql-editor-busy-text'); +require(['sources/generated/browser_nodes', 'sources/generated/codemirror', 'sources/generated/slickgrid'], function() { + require(['sources/generated/sqleditor'], function(ctx) { + var $ = pgAdmin.SqlEditor.jquery, + S = pgAdmin.SqlEditor.S, + editorPanel = $('.sql-editor'), + loadingDiv = $('#fetching_data'), + msgDiv = loadingDiv.find('.sql-editor-busy-text'); - // Register unload event on window close. - /* If opened in new tab, close the connection only on tab/window close and - * not on refresh attempt because the user may cancel the reload - */ - if(window.opener) { - $(window).on('unload', function(ev) { - $.ajax({ - method: 'DELETE', - url: "{{ url_for('datagrid.index') }}" + "close/" + {{ uniqueId }} - }); - }); - } else { - $(window).on('beforeunload', function(ev) { - $.ajax({ - method: 'DELETE', - url: "{{ url_for('datagrid.index') }}" + "close/" + {{ uniqueId }} - }); - }); - } + // Register unload event on window close. + /* If opened in new tab, close the connection only on tab/window close and + * not on refresh attempt because the user may cancel the reload + */ + if(window.opener) { + $(window).on('unload', function(ev) { + $.ajax({ + method: 'DELETE', + url: "{{ url_for('datagrid.index') }}" + "close/" + {{ uniqueId }} + }); + }); + } else { + $(window).on('beforeunload', function(ev) { + $.ajax({ + method: 'DELETE', + url: "{{ url_for('datagrid.index') }}" + "close/" + {{ uniqueId }} + }); + }); + } - // Get the controller object from pgAdmin.SqlEditor - var sqlEditorController = pgAdmin.SqlEditor.create(editorPanel); + // Get the controller object from pgAdmin.SqlEditor + var sqlEditorController = pgAdmin.SqlEditor.create(editorPanel); - // Listen on events to show/hide loading-icon and change messages. - sqlEditorController.on('pgadmin-sqleditor:loading-icon:message', function(msg) { - msgDiv.text(msg); - }).on('pgadmin-sqleditor:loading-icon:show', function(msg) { - loadingDiv.removeClass('d-none'); - msgDiv.text(msg); - }).on('pgadmin-sqleditor:loading-icon:hide', function() { - loadingDiv.addClass('d-none'); - }); - {% if script_type_url %} - var script_type_url = '{{ script_type_url }}'; - {% else %} - var script_type_url = ''; - {% endif %} - // Start the query tool. - sqlEditorController.start( - {{ uniqueId }}, - {{ url_params|safe}}, - '{{ layout|safe }}' - ); + // Listen on events to show/hide loading-icon and change messages. + sqlEditorController.on('pgadmin-sqleditor:loading-icon:message', function(msg) { + msgDiv.text(msg); + }).on('pgadmin-sqleditor:loading-icon:show', function(msg) { + loadingDiv.removeClass('d-none'); + msgDiv.text(msg); + }).on('pgadmin-sqleditor:loading-icon:hide', function() { + loadingDiv.addClass('d-none'); + }); + {% if script_type_url %} + var script_type_url = '{{ script_type_url }}'; + {% else %} + var script_type_url = ''; + {% endif %} + // Start the query tool. + sqlEditorController.start( + {{ uniqueId }}, + {{ url_params|safe}}, + '{{ layout|safe }}' + ); + }); }); {% endblock %} diff --git a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css index 8831d5023..62c0f2c56 100644 --- a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css +++ b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css @@ -14,30 +14,6 @@ bottom: 0; } -.sql-scratch { - width: 100%; - height: 100%; - box-sizing: border-box; - overflow-y: hidden; -} - -.sql-scratch textarea { - width: 100%; - height: 100%; - box-sizing: border-box; - border: none; - resize: none; -} - -.sql-editor-grid-container { - height: 100%; - overflow: auto; -} - -.sql-editor-grid-container.has-no-footer { - height: 100%; -} - .filter-container .CodeMirror-scroll { min-height: 120px; } @@ -274,53 +250,32 @@ input.editor-checkbox:focus { white-space: pre; } -/* CSS for connection status icon */ -.connection_status .fa-custom { - height: 18px; - width: 18px; - display: block; - background-repeat: no-repeat; - content: ''; +.connection_status { + font-size: 1rem; } -.connection_status .fa-query-tool-connected { - background-image: url('../img/connect.svg'); +.icon-query-tool-connected:before { + font-icon: url('../img/connect.svg'); } -.connection_status .fa-query-tool-disconnected { - background-image: url('../img/disconnect.svg'); -} - -.connection_status .obtaining-conn { - background-image: url('../img/loading.gif') !important; -} - -.icon-commit, .icon-rollback, .icon-save-data-changes, .icon-view-data { - display: inline-block; - align-content: center; - vertical-align: middle; - height: 18px; - width: 18px; - background-size: 22px !important; - background-repeat: no-repeat; - background-position-x: center; - background-position-y: center; +.icon-query-tool-disconnected:before { + font-icon: url('../img/disconnect.svg'); } -.icon-commit { - background-image: url('../img/commit.svg') !important; +.icon-commit:before { + font-icon: url('../img/commit.svg'); } -.icon-rollback { - background-image: url('../img/rollback.svg') !important; +.icon-rollback:before { + font-icon: url('../img/rollback.svg'); } -.icon-save-data-changes { - background-image: url('../img/save_data_changes.svg') !important; +.icon-save-data-changes:before { + font-icon: url('../img/save_data_changes.svg'); } -.icon-view-data { - background-image: url('../img/view_data.svg') !important; +.icon-view-data:before { + font-icon: url('../img/view_data.svg'); } .ajs-body .warn-header { diff --git a/web/pgadmin/tools/sqleditor/static/img/commit.svg b/web/pgadmin/tools/sqleditor/static/img/commit.svg index 7fd36e8b8..5047ac3e6 100644 --- a/web/pgadmin/tools/sqleditor/static/img/commit.svg +++ b/web/pgadmin/tools/sqleditor/static/img/commit.svg @@ -1 +1,22 @@ -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:#222222;}</style></defs><title>commit</title><path class="cls-1" d="M51.89,28.51a21.22,21.22,0,0,0-6.3-2.1,45.22,45.22,0,0,0-8.67-.78,45.12,45.12,0,0,0-8.66.78,21.22,21.22,0,0,0-6.3,2.1c-1.54.89-2.32,1.85-2.32,2.88v2.88c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V31.39Q54.2,29.85,51.89,28.51Z"/><path class="cls-1" d="M36.92,51.56a49.08,49.08,0,0,1-10-1,19.79,19.79,0,0,1-7.32-2.86v3.82c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V47.74a19.67,19.67,0,0,1-7.31,2.86A49.11,49.11,0,0,1,36.92,51.56Z"/><path class="cls-1" d="M36.92,42.92a49.08,49.08,0,0,1-10-1,19.79,19.79,0,0,1-7.32-2.86v3.82c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V39.1A19.67,19.67,0,0,1,46.89,42,49.11,49.11,0,0,1,36.92,42.92Z"/><path class="cls-1" d="M25.67,12.44a11.28,11.28,0,0,1,4.23.8,11.13,11.13,0,0,1,3.6,2.28l-3.08,3.1a1.29,1.29,0,0,0-.31,1.56,1.33,1.33,0,0,0,1.32.9H41.51a1.43,1.43,0,0,0,1-.43,1.4,1.4,0,0,0,.42-1V9.56a1.34,1.34,0,0,0-.9-1.33,1.28,1.28,0,0,0-1.55.31l-2.92,2.91a17.34,17.34,0,0,0-5.51-3.52A17,17,0,0,0,19,8.05a19.15,19.15,0,0,0-3,1.6h0c-.43.3-.85.61-1.25.94l-.4.34h0a16.91,16.91,0,0,0-4.49,6,.8.8,0,0,0,0,.53.65.65,0,0,0,.31.39L14,20a.82.82,0,0,0,.6.05.72.72,0,0,0,.42-.4,11.46,11.46,0,0,1,1.12-2.11h0l.39-.54.24-.3c.18-.22.37-.44.57-.65L17.4,16l.45-.44.09-.09c.16-.15.33-.29.5-.43l.27-.2.21-.16a11.84,11.84,0,0,1,2.29-1.28A11.12,11.12,0,0,1,25.67,12.44Z"/></svg> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 877.4 1000" style="enable-background:new 0 0 877.4 1000;" xml:space="preserve"> +<title>commit</title> +<path d="M877.4,488.3v56.9c0,20.6-15.2,39.5-45.7,56.9c-39,20.4-81.1,34.5-124.5,41.7c-56.5,10.5-113.9,15.6-171.4,15.2 + c-57.4,0.3-114.7-4.8-171.2-15.2c-43.2-7.3-85-21.3-123.7-41.7c-30.4-17.4-45.9-36.4-45.9-56.9v-56.9c0-19.8,15.4-39.5,45.9-56.9 + c39.1-20.3,81.1-34.3,124.5-41.5c56.4-10.6,113.7-15.8,171.2-15.4c57.5-0.4,114.9,4.8,171.4,15.4c43.4,7.2,85.4,21.2,124.5,41.5 + C862.4,449,877.4,468,877.4,488.3z M535.7,887c-66.4,0.2-132.6-6.4-197.7-19.8c-51.5-9-100.7-28.2-144.7-56.5v75.5 + c0,19.8,15.4,39.5,45.9,56.9c39,20.4,81.1,34.5,124.5,41.7c56.4,10.5,113.8,15.6,171.2,15.2c57.5,0.3,114.9-4.7,171.4-15.2 + c43.5-7.2,85.5-21.3,124.5-41.7c30.4-17.4,45.7-36.4,45.7-56.9v-74.7c-43.9,28.4-93,47.6-144.5,56.5 + C667.5,881,601.6,887.4,535.7,887z M535.7,716.3c-66.4,0.2-132.6-6.4-197.7-19.8c-51.5-9-100.7-28.2-144.7-56.5v75.5 + c0,19.8,15.4,39.5,45.9,56.9c39,20.4,81.1,34.5,124.5,41.7c56.4,10.5,113.8,15.6,171.2,15.2c57.5,0.3,114.9-4.7,171.4-15.2 + c43.5-7.2,85.5-21.3,124.5-41.7c30.4-17.4,45.7-36.4,45.7-56.9v-74.7c-43.6,28.5-92.4,48-143.7,57.3 + C668,710.8,601.9,716.9,535.7,716.3z M313.4,113.7c28.6-0.1,57,5.2,83.6,15.8c26.4,10.3,50.6,25.6,71.2,45.1l-60.9,61.3 + c-8.9,7.6-11.4,20.4-6.1,30.8c3.8,11.1,14.4,18.3,26.1,17.8h199.2c7.5-0.1,14.6-3.2,19.8-8.5c5.3-5.2,8.3-12.3,8.3-19.8V56.8 + c0.6-11.7-6.7-22.4-17.8-26.3c-10.4-5.3-23.1-2.7-30.6,6.1l-57.7,57.5C516.9,64.2,480,40.6,439.6,24.5C356.6-9,263.8-8.1,181.5,26.9 + c-20.7,8.8-40.5,19.3-59.3,31.6l0,0c-8.5,5.9-16.8,12.1-24.7,18.6l-7.9,6.7l0,0c-38.1,32.4-68.4,72.9-88.7,118.6 + c-1.2,3.4-1.2,7.1,0,10.5c0.9,3.3,3.1,6.1,6.1,7.7l75.7,42.5c3.7,1.8,7.9,2.2,11.9,1c3.8-1.4,6.8-4.2,8.3-7.9 + c5.9-14.6,13.3-28.6,22.1-41.7l0,0l7.7-10.7l4.7-5.9c3.6-4.3,7.3-8.7,11.3-12.8l1.2-1l8.9-8.7l1.8-1.8c3.2-3,6.5-5.7,9.9-8.5l5.3-4 + l4.2-3.2c14.1-10.1,29.3-18.6,45.3-25.3C253,120.3,283,113.9,313.4,113.7z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/connect.svg b/web/pgadmin/tools/sqleditor/static/img/connect.svg index 9170fc9b5..c311f2868 100644 --- a/web/pgadmin/tools/sqleditor/static/img/connect.svg +++ b/web/pgadmin/tools/sqleditor/static/img/connect.svg @@ -1 +1,23 @@ -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#2c76b4;}</style></defs><title>connect</title><path class="cls-1" d="M21.27,4.25c.12-.12.12-.18,0-.29-.32-.3-.63-.61-.92-.93-.12-.13-.19-.13-.31,0-.69.71-1.4,1.4-2.1,2.11L17.7,4.9a4.22,4.22,0,0,0-5.26-.82,9.75,9.75,0,0,0-1.69,1.46l-.58.55c-.18-.18-.36-.35-.53-.53s-.14-.1-.23,0c-.31.33-.63.65-1,1-.12.12-.13.18,0,.3.69.67,1.36,1.37,2.05,2,.15.14.13.21,0,.34l-2.05,2c-.12.12-.12.18,0,.29.32.3.63.61.92.93.12.13.19.13.31,0l2-2.05c.12-.13.19-.15.33,0,.61.63,1.24,1.25,1.87,1.87.13.12.12.19,0,.31l-2.07,2.06c-.11.11-.13.17,0,.29q.47.44.91.91c.13.14.2.16.35,0,.67-.69,1.36-1.36,2-2.05.12-.13.19-.12.31,0l2.08,2.09c.09.1.15.12.25,0,.32-.34.66-.67,1-1,.1-.1.07-.15,0-.23l-.61-.6c.48-.45,1-.86,1.41-1.32a4.13,4.13,0,0,0,1.2-3.67,4,4,0,0,0-1.42-2.55c-.14-.12-.14-.19,0-.32C20,5.56,20.61,4.9,21.27,4.25Zm-3.05,7.41c-.43.39-.81.83-1.2,1.23L11.37,7.25l1.42-1.34a2.52,2.52,0,0,1,3.48-.06C17,6.55,17.74,7.27,18.43,8A2.51,2.51,0,0,1,18.22,11.67Z"/><path class="cls-1" d="M15.52,17.16c-2-1.95-8-8-9-9C6.4,8,6.34,8,6.22,8.14c-.3.32-.62.64-.94.94-.11.11-.14.17,0,.28s.35.33.6.57c-.49.45-1,.88-1.42,1.34a4.16,4.16,0,0,0-1.12,4,4.37,4.37,0,0,0,1.33,2.22c.13.13.13.2,0,.33-.65.63-1.28,1.28-1.93,1.91-.13.13-.12.19,0,.31.32.3.62.61.92.92.11.12.18.12.29,0,.53-.55,1.07-1.08,1.62-1.62.15-.15.29-.42.47-.41s.31.25.47.39a4.21,4.21,0,0,0,5.81,0c.5-.47.94-1,1.43-1.53.25.26.43.44.6.63s.14.11.24,0c.3-.32.61-.63.93-.92C15.67,17.38,15.68,17.31,15.52,17.16Zm-3-.38c-.43.43-.84.87-1.27,1.29a2.53,2.53,0,0,1-3.74-.17c-.53-.57-1.1-1.11-1.66-1.64a2.58,2.58,0,0,1,0-3.93c.41-.41.79-.84,1.19-1.27l5.52,5.52C12.57,16.66,12.58,16.7,12.49,16.78Z"/></svg> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 1033.2 1000" style="enable-background:new 0 0 1033.2 1000;" xml:space="preserve"> +<title>connect</title> +<path d="M1029.1,70.6c5.5-5.5,5.5-11.1,0-16.6c-16.6-11.1-38.8-33.2-55.4-49.9c-5.5-5.5-11.1-5.5-16.6,0 + c-38.8,38.8-77.6,77.6-116.3,116.3l-11.1-11.1C757.6,26.3,635.7,9.7,536,65.1c-33.2,22.2-66.5,49.9-94.2,83.1l-33.2,27.7 + c-5.5-11.1-16.6-22.2-27.7-27.7c-11.1-11.1-5.5-5.5-11.1,0c-16.6,16.6-33.2,33.2-55.4,55.4c-5.5,5.5-5.5,11.1,0,16.6 + C353.2,259,392,297.8,430.7,331c5.5,5.5,5.5,11.1,0,16.6l-83.1,77.6c-66.5-60.9-116.3-116.3-138.5-133c-5.5-11.1-11.1-11.1-16.6-5.5 + c-16.6,22.2-33.2,38.8-49.9,55.4c-5.5,5.5-5.5,11.1,0,16.6s16.6,16.6,33.2,33.2c-27.7,27.7-55.4,49.9-77.6,72 + c-60.9,55.4-83.1,144-60.9,221.6c11.1,49.9,38.8,88.6,72,121.9c5.5,5.5,5.5,11.1,0,16.6c-33.2,33.2-72,72-105.3,105.3 + c-5.5,5.5-5.5,11.1,0,16.6c16.6,16.6,33.2,33.2,49.9,49.9c5.5,5.5,11.1,5.5,16.6,0c27.7-27.7,60.9-60.9,88.6-88.6 + c5.5-5.5,16.6-22.2,27.7-22.2s16.6,11.1,27.7,22.2c88.6,88.6,232.7,88.6,321.3,0c27.7-27.7,49.9-55.4,77.6-83.1 + c11.1,16.6,22.2,22.2,33.2,33.2c11.1,11.1,5.5,5.5,11.1,0c16.6-16.6,33.2-33.2,49.9-49.9c5.5-5.5,11.1-11.1,0-16.6 + c-27.7-27.7-66.5-60.9-105.3-105.3c27.7-27.7,55.4-55.4,77.6-83.1c5.5-5.5,11.1-5.5,16.6,0L813,718.8c5.5,5.5,11.1,5.5,11.1,0 + c16.6-16.6,38.8-38.8,55.4-55.4c5.5-5.5,5.5-5.5,0-11.1l-27.7-38.8c27.7-22.2,55.4-49.9,77.6-72c55.4-49.9,77.6-127.4,66.5-205 + c-5.5-55.4-33.2-105.3-77.6-138.5c-5.5-5.5-5.5-11.1,0-16.6C957.1,148.2,990.3,109.4,1029.1,70.6z M541.6,768.7 + c-22.2,22.2-44.3,49.9-72,72c-55.4,55.4-144,55.4-199.4,0c-33.2-27.8-48.6-44.9-99.7-99.7c-57.2-53.5-66.5-144-16.6-199.4 + c5.5-5.5,11.1-11.1,16.6-16.6c22.2-22.2,44.3-44.3,66.5-72l304.7,304.7C547.1,763.2,547.1,763.2,541.6,768.7L541.6,768.7z + M613.6,530.5L536,613.6c-38.8-38.8-83.1-83.1-121.9-121.9l77.6-83.1c5.5-5.5,11.1-11.1,16.6,0c33.2,33.2,66.5,66.5,105.3,105.3 + C624.7,524.9,624.7,524.9,613.6,530.5z M868.4,475.1l-5.5,5.5l0,0c-22.2,22.2-44.3,44.3-66.5,66.5L480.6,236.8l77.6-72 + c55.4-49.9,138.5-55.4,193.9-5.5c38.8,38.8,77.6,83.1,116.3,121.9C923.8,336.6,923.8,425.2,868.4,475.1z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/disconnect.svg b/web/pgadmin/tools/sqleditor/static/img/disconnect.svg index 113b7588d..1fe248042 100644 --- a/web/pgadmin/tools/sqleditor/static/img/disconnect.svg +++ b/web/pgadmin/tools/sqleditor/static/img/disconnect.svg @@ -1 +1,24 @@ -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><defs><style>.cls-1{fill:#d0021b;}</style></defs><title>disconnect</title><path class="cls-1" d="M22.49,2.73c.12-.11.12-.18,0-.29-.31-.3-.62-.6-.91-.91-.12-.13-.18-.13-.31,0-.68.69-1.37,1.38-2.07,2.07L19,3.36a4.15,4.15,0,0,0-5.18-.81A9.59,9.59,0,0,0,12.14,4l-.57.54c-.18-.17-.36-.34-.53-.52s-.13-.09-.22,0c-.31.32-.62.64-.95.94-.12.11-.13.18,0,.3.68.66,1.34,1.34,2,2,.14.14.12.21,0,.34l-2,2c-.12.11-.12.18,0,.29.31.29.62.6.91.91.12.13.18.12.3,0l2-2c.12-.13.19-.15.32,0,.6.62,1.22,1.23,1.84,1.84.12.12.12.18,0,.3l-2,2c-.11.11-.13.17,0,.29q.46.43.89.89c.13.13.2.15.34,0,.66-.68,1.34-1.34,2-2,.12-.13.18-.12.3,0l2,2.05c.09.09.14.11.24,0,.32-.33.65-.66,1-1,.1-.09.07-.14,0-.22l-.6-.59c.47-.44.95-.85,1.38-1.3A4.06,4.06,0,0,0,22,7.47,4,4,0,0,0,20.56,5c-.14-.12-.14-.18,0-.31C21.2,4,21.84,3.36,22.49,2.73Zm-3,7.29c-.42.38-.8.81-1.18,1.21L12.75,5.68l1.39-1.32a2.48,2.48,0,0,1,3.42-.06C18.3,5,19,5.7,19.69,6.44A2.47,2.47,0,0,1,19.48,10Z"/><path class="cls-1" d="M14.1,18.75c-1.93-1.92-7.84-7.83-8.87-8.87-.11-.11-.16-.13-.28,0-.3.32-.61.63-.93.93-.11.1-.14.17,0,.28s.35.33.59.56c-.48.45-1,.86-1.4,1.32a4.09,4.09,0,0,0-1.1,3.93,4.3,4.3,0,0,0,1.31,2.19c.13.13.13.2,0,.33-.64.62-1.26,1.26-1.9,1.88-.13.12-.12.19,0,.3.31.29.61.6.91.91.11.12.17.12.29,0,.52-.54,1.06-1.07,1.59-1.59.15-.15.28-.41.46-.41s.31.24.46.38a4.14,4.14,0,0,0,5.72,0c.5-.46.92-1,1.4-1.51.25.26.42.43.59.62s.14.11.24,0c.3-.31.6-.62.91-.91C14.24,19,14.25,18.9,14.1,18.75Zm-3-.37c-.42.42-.82.86-1.25,1.27a2.49,2.49,0,0,1-3.68-.17c-.52-.56-1.08-1.09-1.64-1.62a2.54,2.54,0,0,1,0-3.87c.4-.4.78-.83,1.17-1.25l5.43,5.43C11.2,18.25,11.21,18.29,11.12,18.38Z"/></svg> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 995.3 1000" style="enable-background:new 0 0 995.3 1000;" xml:space="preserve"> +<title>disconnect</title> +<path d="M991.7,60.3c4.7-4.7,4.7-9.5,0-14.2c-14.2-14.2-28.4-28.4-42.6-42.6c-4.7-4.7-9.5-4.7-14.2,0 + c-33.1,33.1-66.2,66.2-99.3,99.3l-9.5-9.5C764.8,22.5,660.8,8.3,580.4,55.6C552,74.5,523.6,98.1,500,121.7l-28.4,23.6 + c-4.7-4.7-14.2-14.2-23.6-23.6c-9.5-9.5-4.7-4.7-9.5,0c-14.2,14.2-28.4,28.4-47.3,42.6c-4.7,4.7-4.7,9.5,0,14.2 + c33.1,33.1,61.5,61.5,94.6,94.6c4.7,4.7,4.7,9.5,0,14.2l-94.6,94.6c-4.7,4.7-4.7,9.5,0,14.2c14.2,14.2,28.4,28.4,42.6,42.6 + c4.7,4.7,9.5,4.7,14.2,0l94.6-94.6c4.7-4.7,9.5-9.5,14.2,0c28.4,28.4,56.7,56.7,85.1,85.1c4.7,4.7,4.7,9.5,0,14.2l-94.6,94.6 + c-4.7,4.7-4.7,9.5,0,14.2c14.2,14.2,28.4,28.4,42.6,42.6c4.7,4.7,9.5,4.7,14.2,0c33.1-33.1,61.5-61.5,94.6-94.6 + c4.7-4.7,9.5-4.7,14.2,0l94.6,94.6c4.7,4.7,4.7,4.7,9.5,0c14.2-14.2,28.4-33.1,47.3-47.3c4.7-4.7,4.7-4.7,0-9.5l-28.4-28.4 + c23.6-18.9,47.3-37.8,66.2-61.5c47.3-42.6,66.2-108.7,56.7-170.2c-9.5-47.3-33.1-89.8-66.2-118.2c-4.7-4.7-4.7-9.5,0-14.2 + C930.3,121.7,958.6,93.4,991.7,60.3z M854.6,400.7C849.9,405.4,849.9,405.4,854.6,400.7L854.6,400.7c-23.6,23.6-42.6,42.6-56.7,61.5 + l-264.8-260l66.2-61.5c42.6-42.6,113.5-47.3,160.8-4.7c33.1,33.1,66.2,66.2,99.3,99.3C901.9,282.5,901.9,358.2,854.6,400.7z + M173.8,400.7c-4.7-4.7-4.7-4.7-9.5,0c-14.2,14.2-28.4,28.4-42.6,42.6c-4.7,4.7-4.7,9.5,0,14.2s14.2,14.2,28.4,28.4 + c-23.6,23.6-47.3,42.6-66.2,61.5c-47.3,47.3-70.9,118.2-52,184.4c9.5,37.8,33.1,75.7,61.5,104c4.7,4.7,4.7,9.5,0,14.2 + C65,878.3,31.9,911.3,3.5,939.7c-4.7,4.7-4.7,9.5,0,14.2c14.2,14.2,28.4,28.4,42.6,42.6c4.7,4.7,9.5,4.7,14.2,0 + c23.6-23.6,52-52,75.7-75.7c9.5-9.5,14.2-18.9,23.6-18.9c9.5,0,14.2,9.5,23.6,18.9c75.7,70.9,193.9,70.9,269.5,0 + c23.6-23.6,42.6-47.3,66.2-70.9c9.5,14.2,18.9,18.9,28.4,28.4c9.5,9.5,4.7,4.7,9.5,0c14.2-14.2,28.4-28.4,42.6-42.6 + c4.7-4.7,9.5-9.5,0-14.2C504.7,727,225.8,448,173.8,400.7z M452.7,802.6L452.7,802.6c-18.9,18.9-37.8,42.6-61.5,61.5 + c-47.3,47.3-118.2,47.3-165.5,0c-4.7-4.7-4.7-4.7-9.5-9.5c-23.6-28.4-52-52-75.7-75.7c-52-42.6-56.7-118.2-14.2-170.2 + c4.7-4.7,9.5-9.5,14.2-14.2c18.9-18.9,37.8-37.8,56.7-56.7l255.3,255.3C457.4,793.1,457.4,797.9,452.7,802.6z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/rollback.svg b/web/pgadmin/tools/sqleditor/static/img/rollback.svg index 89713cdf4..c0566447f 100644 --- a/web/pgadmin/tools/sqleditor/static/img/rollback.svg +++ b/web/pgadmin/tools/sqleditor/static/img/rollback.svg @@ -1 +1,22 @@ -<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64"><defs><style>.cls-1{fill:#222222;}</style></defs><title>rollback</title><path class="cls-1" d="M53.89,28.51a21.22,21.22,0,0,0-6.3-2.1,45.22,45.22,0,0,0-8.67-.78,45.12,45.12,0,0,0-8.66.78,21.22,21.22,0,0,0-6.3,2.1c-1.54.89-2.32,1.85-2.32,2.88v2.88c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V31.39Q56.2,29.85,53.89,28.51Z"/><path class="cls-1" d="M38.92,51.56a49.08,49.08,0,0,1-10-1,19.79,19.79,0,0,1-7.32-2.86v3.82c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V47.74a19.67,19.67,0,0,1-7.31,2.86A49.11,49.11,0,0,1,38.92,51.56Z"/><path class="cls-1" d="M38.92,42.92a49.08,49.08,0,0,1-10-1,19.79,19.79,0,0,1-7.32-2.86v3.82c0,1,.78,2,2.32,2.88a20.92,20.92,0,0,0,6.3,2.11,46,46,0,0,0,8.66.77,46.07,46.07,0,0,0,8.67-.77,20.92,20.92,0,0,0,6.3-2.11q2.31-1.32,2.31-2.88V39.1A19.67,19.67,0,0,1,48.89,42,49.11,49.11,0,0,1,38.92,42.92Z"/><path class="cls-1" d="M25.08,12.44a11.28,11.28,0,0,0-4.23.8,11.13,11.13,0,0,0-3.6,2.28l3.08,3.1a1.29,1.29,0,0,1,.31,1.56,1.33,1.33,0,0,1-1.32.9H9.24a1.43,1.43,0,0,1-1-.43,1.4,1.4,0,0,1-.42-1V9.56a1.34,1.34,0,0,1,.9-1.33,1.28,1.28,0,0,1,1.55.31l2.92,2.91a17.34,17.34,0,0,1,5.51-3.52,17,17,0,0,1,13.1.12,19.15,19.15,0,0,1,3,1.6h0c.43.3.85.61,1.25.94l.4.34h0a16.91,16.91,0,0,1,4.49,6,.8.8,0,0,1,0,.53.65.65,0,0,1-.31.39L36.8,20a.82.82,0,0,1-.6.05.72.72,0,0,1-.42-.4,11.46,11.46,0,0,0-1.12-2.11h0q-.19-.28-.39-.54l-.24-.3c-.18-.22-.37-.44-.57-.65L33.35,16l-.45-.44-.09-.09c-.16-.15-.33-.29-.5-.43l-.27-.2-.21-.16a11.84,11.84,0,0,0-2.29-1.28A11.12,11.12,0,0,0,25.08,12.44Z"/></svg> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 956.7 1000" style="enable-background:new 0 0 956.7 1000;" xml:space="preserve"> +<title>rollback</title> +<path d="M956.7,488.3v56.9c0,20.6-15.2,39.5-45.7,56.9c-39,20.4-81.1,34.5-124.5,41.7C730,654.3,672.6,659.4,615.1,659 + c-57.4,0.3-114.7-4.8-171.2-15.2c-43.2-7.3-85-21.3-123.7-41.7c-30.4-17.4-45.9-36.4-45.9-56.9v-56.9c0-19.8,15.4-39.5,45.9-56.9 + c39.1-20.3,81.1-34.3,124.5-41.5c56.4-10.6,113.7-15.8,171.2-15.4c57.5-0.4,114.9,4.8,171.4,15.4c43.4,7.2,85.4,21.2,124.5,41.5 + C941.7,449,956.7,468,956.7,488.3z M615.1,886.9c-66.4,0.2-132.6-6.4-197.7-19.8c-51.5-9-100.7-28.2-144.7-56.5v75.5 + c0,19.8,15.4,39.5,45.9,56.9c39,20.4,81.1,34.5,124.5,41.7c56.4,10.5,113.8,15.6,171.2,15.2c57.5,0.3,114.9-4.7,171.4-15.2 + c43.5-7.2,85.5-21.3,124.5-41.7c30.4-17.4,45.7-36.4,45.7-56.9v-74.7c-43.9,28.4-93,47.6-144.5,56.5 + C746.8,880.9,681,887.3,615.1,886.9z M615.1,716.2c-66.4,0.2-132.6-6.4-197.7-19.8c-51.5-9-100.7-28.2-144.7-56.5v75.5 + c0,19.8,15.4,39.5,45.9,56.9c39,20.4,81.1,34.5,124.5,41.7c56.4,10.5,113.8,15.6,171.2,15.2c57.5,0.3,114.9-4.7,171.4-15.2 + c43.5-7.2,85.5-21.3,124.5-41.7c30.4-17.4,45.7-36.4,45.7-56.9v-74.7c-43.6,28.5-92.4,48-143.7,57.3 + C747.3,710.7,681.3,716.8,615.1,716.2z M429.7,131.7c16,6.7,31.2,15.2,45.3,25.3l4.2,3.2l5.3,4c3.4,2.8,6.7,5.5,9.9,8.5l1.8,1.8 + l8.9,8.7l2.2,2.4c4,4.2,7.7,8.5,11.3,12.8l4.7,5.9c2.5,3.4,5.1,7,7.7,10.7l0,0c8.8,13.1,16.2,27.1,22.1,41.7 + c1.5,3.7,4.5,6.6,8.3,7.9c3.9,1.2,8.2,0.8,11.9-1l75.1-42.7c3-1.7,5.2-4.4,6.1-7.7c1.2-3.4,1.2-7.1,0-10.5 + c-20.3-45.7-50.7-86.2-88.7-118.6l0,0l-7.9-6.7c-7.9-6.5-16.2-12.6-24.7-18.6l0,0c-18.8-12.3-38.6-22.9-59.3-31.6 + C391.3-8.2,298-9.1,214.9,24.8C174.5,40.8,137.5,64.5,106,94.3L48.5,36.6c-7.6-8.9-20.2-11.4-30.6-6.1C6.7,34.3-0.5,45.1,0,56.8V256 + c0,7.4,3,14.6,8.3,19.8c5.2,5.3,12.3,8.4,19.8,8.5h199.6c11.7,0.5,22.3-6.7,26.1-17.8c5.3-10.5,2.8-23.2-6.1-30.8l-60.9-61.3 + c20.6-19.5,44.8-34.8,71.2-45.1c26.6-10.6,55-16,83.6-15.8C371.9,113.4,401.9,119.6,429.7,131.7z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/save_data_changes.svg b/web/pgadmin/tools/sqleditor/static/img/save_data_changes.svg index 09ead9286..1b1140237 100644 --- a/web/pgadmin/tools/sqleditor/static/img/save_data_changes.svg +++ b/web/pgadmin/tools/sqleditor/static/img/save_data_changes.svg @@ -1,12 +1,32 @@ -<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 1792 1792;" xml:space="preserve" width="1792" height="1792"><rect id="backgroundrect" width="100%" height="100%" x="0" y="0" fill="none" stroke="none"/> +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 1181.8 1000" style="enable-background:new 0 0 1181.8 1000;" xml:space="preserve"> <style type="text/css"> .st0{fill:#222222;} - .st1{fill:#FFFFFF;} </style> <title>save_data_changes</title> - - -<g class="currentLayer" style=""><title>Layer 1</title><path class="st0 selected" d="M614.0211181640625,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,1389.2831683158875 614.0211181640625,1381.039882183075 zM614.0211181640625,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,1048.918300151825 614.0211181640625,1040.6748919487 zM1069.7584228515625,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,1389.2831683158875 1069.7584228515625,1381.039882183075 zM614.0211181640625,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,708.5541033744812 614.0211181640625,700.3109393119812 zM1069.7584228515625,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,1048.918300151825 1069.7584228515625,1040.6748919487 zM1525.49560546875,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,1389.2831683158875 1525.49560546875,1381.039882183075 zM1069.7584228515625,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,708.5541033744812 1069.7584228515625,700.3109393119812 zM1525.49560546875,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,1048.918300151825 1525.49560546875,1040.6748919487 zM1525.49560546875,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,708.5541033744812 1525.49560546875,700.3109393119812 zM1639.4296875,416.6754412651062 v964.3636474609375 c0,39 -13.974724769592285,72.41590881347656 -41.835166931152344,100.15908813476562 s-61.41758346557617,41.65909194946289 -100.5824203491211,41.65909194946289 H300.70343017578125 c-39.16483688354492,0 -72.72197723388672,-13.915908813476562 -100.5824203491211,-41.65909194946289 s-41.835166931152344,-61.15909194946289 -41.835166931152344,-100.15908813476562 V416.6754412651062 c0,-39 13.974724769592285,-72.41590881347656 41.835166931152344,-100.15908813476562 s61.41758346557617,-41.65909194946289 100.5824203491211,-41.65909194946289 h1196.3077392578125 c39.16483688354492,0 72.72197723388672,13.915908813476562 100.5824203491211,41.65909194946289 S1639.4296875,377.6754412651062 1639.4296875,416.6754412651062 z" id="svg_1"/><g id="svg_2" class="selected"> - <path class="st0" d="M898.8562622070312,1342.7491106987 c-22.69780158996582,0 -43.081321716308594,-8.331817626953125 -58.92527389526367,-24.19772720336914 l-289.4637451171875,-288.6886291503906 c-16.378021240234375,-15.51136302947998 -25.012088775634766,-35.897727966308594 -25.012088775634766,-58.943180084228516 c0,-22.868181228637695 8.278021812438965,-42.72272872924805 24.656044006347656,-59.03181457519531 l32.84505844116211,-33.150001525878906 c0.17802198231220245,-0.1772727221250534 0.44505494832992554,-0.4431818127632141 0.6230769157409668,-0.6204545497894287 c16.46703338623047,-15.51136302947998 36.761539459228516,-23.665908813476562 58.83626174926758,-23.665908813476562 c22.69780158996582,0 43.081321716308594,8.331817626953125 58.92527389526367,24.19772720336914 l85.27252960205078,84.91363525390625 V715.5564227104187 c0,-22.247726440429688 8.545055389404297,-42.54545593261719 24.745054244995117,-58.677268981933594 s36.58351516723633,-24.640907287597656 58.92527389526367,-24.640907287597656 h56.96703338623047 c22.341758728027344,0 42.72527313232422,8.5090913772583 58.92527389526367,24.640907287597656 s24.745054244995117,36.429542541503906 24.745054244995117,58.677268981933594 v247.8272705078125 l85.27252960205078,-84.91363525390625 c15.932967185974121,-15.8659086227417 36.227474212646484,-24.19772720336914 58.92527389526367,-24.19772720336914 c22.074724197387695,0 42.45824432373047,8.154544830322266 58.83626174926758,23.665908813476562 c0.17802198231220245,0.1772727221250534 0.3560439646244049,0.3545454442501068 0.5340659618377686,0.5318182110786438 l33.379119873046875,33.2386360168457 c0.17802198231220245,0.1772727221250534 0.3560439646244049,0.3545454442501068 0.5340659618377686,0.5318182110786438 c15.576923370361328,16.397727966308594 23.765933990478516,36.606815338134766 23.765933990478516,58.5886344909668 c0,22.602272033691406 -8.367033004760742,42.900001525878906 -24.299999237060547,58.677268981933594 l-289.73077392578125,288.95452880859375 c-0.17802198231220245,0.1772727221250534 -0.3560439646244049,0.3545454442501068 -0.5340659618377686,0.5318182110786438 C941.3145141601562,1334.5058245658875 920.9309692382812,1342.7491106987 898.8562622070312,1342.7491106987 z" id="svg_3"/> - <path class="st1" d="M927.3397827148438,658.8291277885437 c15.398900985717773,0 28.75054931640625,5.5840911865234375 40.05494689941406,16.84090805053711 s16.91208839416504,24.55227279663086 16.91208839416504,39.8863639831543 v312 l130.84616088867188,-130.2954559326172 c10.948351860046387,-10.902273178100586 24.299999237060547,-16.397727966308594 40.05494689941406,-16.397727966308594 c15.398900985717773,0 28.928571701049805,5.49545431137085 40.5,16.397727966308594 l33.379119873046875,33.2386360168457 c10.948351860046387,11.522727012634277 16.46703338623047,24.995454788208008 16.46703338623047,40.32954406738281 c0,15.688636779785156 -5.518681049346924,28.98409080505371 -16.46703338623047,39.8863639831543 l-289.73077392578125,288.95452880859375 c-11.571428298950195,10.902273178100586 -25.101099014282227,16.397727966308594 -40.5,16.397727966308594 c-15.754945755004883,0 -29.10659408569336,-5.49545431137085 -40.05494689941406,-16.397727966308594 l-289.73077392578125,-288.95452880859375 c-11.30439567565918,-10.636363983154297 -16.91208839416504,-23.93181800842285 -16.91208839416504,-39.8863639831543 c0,-15.688636779785156 5.607692718505859,-29.072725296020508 16.91208839416504,-40.32954406738281 l32.93406677246094,-33.2386360168457 c11.571428298950195,-10.902273178100586 25.101099014282227,-16.397727966308594 40.5,-16.397727966308594 c15.754945755004883,0 29.10659408569336,5.49545431137085 40.05494689941406,16.397727966308594 l130.84616088867188,130.2954559326172 v-312 c0,-15.334090232849121 5.607692718505859,-28.629545211791992 16.91208839416504,-39.8863639831543 s24.656044006347656,-16.84090805053711 40.05494689941406,-16.84090805053711 L927.3397827148438,658.8291277885437 M927.3397827148438,605.647304058075 h-56.96703338623047 c-29.64065933227539,0 -56.52198028564453,11.168182373046875 -77.79560852050781,32.4409065246582 c-21.36263656616211,21.272727966308594 -32.57802200317383,48.04090881347656 -32.57802200317383,77.46818542480469 v183.56591796875 l-39.69889831542969,-39.53181457519531 c-21.006593704223633,-20.918182373046875 -47.88791275024414,-31.997726440429688 -77.79560852050781,-31.997726440429688 c-29.017581939697266,0 -55.72087860107422,10.725000381469727 -77.17252349853516,30.934091567993164 c-0.44505494832992554,0.4431818127632141 -0.8901098966598511,0.8863636255264282 -1.3351647853851318,1.2409090995788574 l-32.84505844116211,33.150001525878906 c-21.184614181518555,21.18408966064453 -32.400001525878906,48.04090881347656 -32.400001525878906,77.8227310180664 c0,30.402271270751953 11.393406867980957,57.259090423583984 33.023075103759766,77.91136169433594 l289.28570556640625,288.5113525390625 c21.006593704223633,20.918182373046875 47.976924896240234,31.997726440429688 77.88461303710938,31.997726440429688 c29.017581939697266,0 55.72087860107422,-10.725000381469727 77.17252349853516,-30.934091567993164 c0.3560439646244049,-0.3545454442501068 0.7120879292488098,-0.7090908885002136 1.068131923675537,-1.0636364221572876 l289.73077392578125,-288.95452880859375 c21.006593704223633,-20.918182373046875 32.0439567565918,-47.686363220214844 32.0439567565918,-77.46818542480469 c0,-28.89545249938965 -10.770330429077148,-55.48636245727539 -31.064836502075195,-76.84772491455078 c-0.3560439646244049,-0.3545454442501068 -0.7120879292488098,-0.7090908885002136 -1.068131923675537,-1.0636364221572876 l-33.379119873046875,-33.2386360168457 c-0.3560439646244049,-0.3545454442501068 -0.7120879292488098,-0.7090908885002136 -1.068131923675537,-1.0636364221572876 c-21.451648712158203,-20.209089279174805 -48.154945373535156,-30.934091567993164 -77.17252349853516,-30.934091567993164 c-29.907691955566406,0 -56.78900909423828,11.079545021057129 -77.79560852050781,31.997726440429688 l-39.69889831542969,39.53181457519531 V715.5564227104187 c0,-29.515907287597656 -11.215385437011719,-56.28409194946289 -32.57802200317383,-77.46818542480469 C983.8617553710938,616.904139995575 956.98046875,605.647304058075 927.3397827148438,605.647304058075 L927.3397827148438,605.647304058075 z" id="svg_4"/> -</g></g></svg> \ No newline at end of file +<path class="st0" d="M869.8,510.7c12.4,13.1,19,29.3,19,46.9c0,18.1-6.7,34.4-19.4,47L638.2,836.2c-0.1,0.1-0.3,0.3-0.4,0.4 + c-13,12.4-29.3,19-46.9,19c-18.1,0-34.4-6.7-47-19.4L312.9,605c-13.1-12.4-20-28.8-20-47.2c0-18.3,6.6-34.2,19.7-47.3l26.2-26.6 + c0.1-0.1,0.4-0.4,0.5-0.5c13.1-12.4,29.3-19,46.9-19c18.1,0,34.4,6.7,47,19.4l68,68V353.1c0-17.8,6.8-34.1,19.7-47 + c12.9-12.9,29.2-19.7,47-19.7h45.5c17.8,0,34.1,6.8,47,19.7c12.9,12.9,19.7,29.2,19.7,47v198.6l68-68c12.7-12.7,28.9-19.4,47-19.4 + c17.6,0,33.9,6.5,46.9,19c0.1,0.1,0.3,0.3,0.4,0.4l26.6,26.6C869.5,510.4,869.7,510.6,869.8,510.7z M1181.8,113.6v772.7 + c0,31.2-11.2,58-33.4,80.3c-22.2,22.2-49,33.4-80.3,33.4H113.6c-31.2,0-58-11.2-80.3-33.4S0,917.6,0,886.4V113.6 + c0-31.2,11.2-58,33.4-80.3S82.4,0,113.6,0h954.5c31.2,0,58,11.2,80.3,33.4C1170.7,55.6,1181.8,82.4,1181.8,113.6z M90.9,340.9 + c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h227.3c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V204.5 + c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H113.6c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3V340.9z M363.6,750 + c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H113.6c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3v136.4 + c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h227.3c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V750z M1090.9,750 + c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H840.9c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3v136.4 + c0,6.6,2.1,12.1,6.4,16.3s9.7,6.4,16.3,6.4h227.3c6.6,0,12.1-2.1,16.3-6.4s6.4-9.7,6.4-16.3V750z M1090.9,477.3 + c0-6.6-2.1-12.1-6.4-16.3s-9.7-6.4-16.3-6.4H840.9c-0.5,0-0.9,0-1.4,0.1c-13.4-7.7-28.3-11.7-44-11.7c-23.9,0-45.3,8.9-62.1,25.6 + l-6.2,6.2c-0.5-5.5-2.6-10.1-6.3-13.8c-4.3-4.3-9.7-6.4-16.3-6.4h-2.8v-90.9h2.8c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3 + V204.5c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H477.3c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3v136.4 + c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h2.8v90.9h-2.8c-6.6,0-12.1,2.1-16.3,6.4c-3.7,3.7-5.8,8.3-6.2,13.8l-6.2-6.2 + c-16.8-16.8-38.2-25.6-62.1-25.6c-15.8,0-30.8,4-44,11.7c-0.4,0-0.9-0.1-1.4-0.1H113.6c-6.6,0-12.1,2.1-16.3,6.4 + c-4.3,4.3-6.4,9.7-6.4,16.3v136.4c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h200.7l140.2,140.4v109.6 + c0,6.6,2.1,12.1,6.4,16.3s9.7,6.4,16.3,6.4h227.3c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V777.2l140.6-140.8h200.3 + c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V477.3z M1090.9,204.5c0-6.6-2.1-12.1-6.4-16.3c-4.3-4.3-9.7-6.4-16.3-6.4H840.9 + c-6.6,0-12.1,2.1-16.3,6.4c-4.3,4.3-6.4,9.7-6.4,16.3v136.4c0,6.6,2.1,12.1,6.4,16.3c4.3,4.3,9.7,6.4,16.3,6.4h227.3 + c6.6,0,12.1-2.1,16.3-6.4c4.3-4.3,6.4-9.7,6.4-16.3V204.5z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/img/view_data.svg b/web/pgadmin/tools/sqleditor/static/img/view_data.svg index 8a1a382b4..803d12cb5 100644 --- a/web/pgadmin/tools/sqleditor/static/img/view_data.svg +++ b/web/pgadmin/tools/sqleditor/static/img/view_data.svg @@ -1,9 +1,26 @@ -<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="enable-background:new 0 0 1792 1792;" xml:space="preserve" width="1792" height="1792"><rect id="backgroundrect" width="100%" height="100%" x="0" y="0" fill="none" stroke="none"/> -<style type="text/css"> - .st0{fill:#222222;} - .st1{fill:#FFFFFF;} -</style> -<title>save_data_changes</title> - - -<g class="currentLayer" style=""><title>Layer 1</title><path class="st0" d="M614.0211181640625,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,1389.2831683158875 614.0211181640625,1381.039882183075 zM614.0211181640625,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,1048.918300151825 614.0211181640625,1040.6748919487 zM1069.7584228515625,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,1389.2831683158875 1069.7584228515625,1381.039882183075 zM614.0211181640625,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H300.70343017578125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S614.0211181640625,708.5541033744812 614.0211181640625,700.3109393119812 zM1069.7584228515625,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,1048.918300151825 1069.7584228515625,1040.6748919487 zM1525.49560546875,1381.039882183075 v-170.18182373046875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,1389.2831683158875 1525.49560546875,1381.039882183075 zM1069.7584228515625,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 H756.438720703125 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1069.7584228515625,708.5541033744812 1069.7584228515625,700.3109393119812 zM1525.49560546875,1040.6748919487 V870.49276304245 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,1048.918300151825 1525.49560546875,1040.6748919487 zM1525.49560546875,700.3109393119812 V530.1298480033875 c0,-8.243182182312012 -2.6703295707702637,-15.068181991577148 -8.01098918914795,-20.386363983154297 s-12.19450569152832,-7.9772725105285645 -20.4725284576416,-7.9772725105285645 h-284.8351745605469 c-8.278021812438965,0 -15.131868362426758,2.659090995788574 -20.4725284576416,7.9772725105285645 s-8.01098918914795,12.143181800842285 -8.01098918914795,20.386363983154297 v170.18182373046875 c0,8.243182182312012 2.6703295707702637,15.068181991577148 8.01098918914795,20.386363983154297 s12.19450569152832,7.9772725105285645 20.4725284576416,7.9772725105285645 h284.8351745605469 c8.278021812438965,0 15.131868362426758,-2.659090995788574 20.4725284576416,-7.9772725105285645 S1525.49560546875,708.5541033744812 1525.49560546875,700.3109393119812 zM1639.4296875,416.6754412651062 v964.3636474609375 c0,39 -13.974724769592285,72.41590881347656 -41.835166931152344,100.15908813476562 s-61.41758346557617,41.65909194946289 -100.5824203491211,41.65909194946289 H300.70343017578125 c-39.16483688354492,0 -72.72197723388672,-13.915908813476562 -100.5824203491211,-41.65909194946289 s-41.835166931152344,-61.15909194946289 -41.835166931152344,-100.15908813476562 V416.6754412651062 c0,-39 13.974724769592285,-72.41590881347656 41.835166931152344,-100.15908813476562 s61.41758346557617,-41.65909194946289 100.5824203491211,-41.65909194946289 h1196.3077392578125 c39.16483688354492,0 72.72197723388672,13.915908813476562 100.5824203491211,41.65909194946289 S1639.4296875,377.6754412651062 1639.4296875,416.6754412651062 z" id="svg_1"/></g></svg> \ No newline at end of file +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 1181.8 1000" style="enable-background:new 0 0 1181.8 1000;" xml:space="preserve"> +<path d="M1148.4,33.4c-22.3-22.3-49-33.4-80.3-33.4H113.6c-31.2,0-58,11.1-80.3,33.4C11.1,55.6,0,82.4,0,113.6v772.7 + c0,31.2,11.1,58,33.4,80.3c22.3,22.3,49,33.4,80.3,33.4h954.5c31.2,0,58-11.1,80.3-33.4c22.3-22.3,33.4-49,33.4-80.3V113.6 + C1181.8,82.4,1170.7,55.6,1148.4,33.4z M363.6,886.4c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H113.6 + c-6.6,0-12.1-2.1-16.3-6.4s-6.4-9.7-6.4-16.3V750c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V886.4z M363.6,613.6c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H113.6c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V477.3c0-6.6,2.1-12.1,6.4-16.3s9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V613.6z M363.6,340.9c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H113.6c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V204.5c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V340.9z M727.3,886.4c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H477.3c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V750c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V886.4z M727.3,613.6c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H477.3c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V477.3c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V613.6z M727.3,340.9c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H477.3c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V204.5c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V340.9z M1090.9,886.4c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H840.9c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V750c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V886.4z M1090.9,613.6c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H840.9c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V477.3c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V613.6z M1090.9,340.9c0,6.6-2.1,12.1-6.4,16.3c-4.3,4.3-9.7,6.4-16.3,6.4H840.9c-6.6,0-12.1-2.1-16.3-6.4 + c-4.3-4.3-6.4-9.7-6.4-16.3V204.5c0-6.6,2.1-12.1,6.4-16.3c4.3-4.3,9.7-6.4,16.3-6.4h227.3c6.6,0,12.1,2.1,16.3,6.4 + c4.3,4.3,6.4,9.7,6.4,16.3V340.9z"/> +</svg> diff --git a/web/pgadmin/tools/sqleditor/static/scss/_history.scss b/web/pgadmin/tools/sqleditor/static/scss/_history.scss index 68f7fcd2c..b2922630f 100644 --- a/web/pgadmin/tools/sqleditor/static/scss/_history.scss +++ b/web/pgadmin/tools/sqleditor/static/scss/_history.scss @@ -3,7 +3,7 @@ .list-item { border-bottom: $panel-border; - background-color: $color-bg-theme; + background-color: $color-bg; } .entry { @@ -81,8 +81,8 @@ .header-label { @extend .text-12; - @extend .text-gray; display: block; + color: $color-fg; } @@ -98,7 +98,7 @@ width: 100%; display: flex; flex-direction: column; - background-color: $color-bg-theme; + background-color: $color-bg; .error-message-block { background: $sql-history-error-bg; flex: 0.3; @@ -163,8 +163,8 @@ float: left; position: relative; z-index: 10; - border: 1px solid $color-gray-light; - color: $color-primary; + border: 1px solid $border-color; + color: $color-fg; font-size: 12px; box-shadow: 1px 2px 4px 0px $color-gray-light; padding: 3px 12px 3px 10px; @@ -172,13 +172,14 @@ min-width: 75px; } - .copy-all { + .copy-all, .copy-to-editor { background-color: $color-bg; } .was-copied { background-color: $color-primary-light; border-color: $color-primary-light; + color: $active-color; } .CodeMirror-scroll { @@ -217,6 +218,7 @@ @extend .bg-white; @extend .text-13; font-family: $font-family-editor; + color: $color-fg; border: 0; padding-left: 0; position: absolute; diff --git a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss index 2742f3204..0ecfc3894 100644 --- a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss +++ b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss @@ -110,7 +110,7 @@ li.CodeMirror-hint-active { .slick-cell.cell-move-handle { font-weight: bold; text-align: right; - border-right: solid $color-gray; + border-right: solid $border-color; background: $color-gray-lighter; cursor: move; } @@ -129,7 +129,7 @@ li.CodeMirror-hint-active { } .cell-selection { - border-right-color: $color-gray-light; + border-right-color: $border-color; border-right-style: solid; background: $color-gray-lighter; color: $color-gray; @@ -138,7 +138,8 @@ li.CodeMirror-hint-active { } #datagrid .slick-header .slick-header-columns { - background: $color-bg; + background: $sql-grid-title-cell-bg; + color: $sql-grid-title-cell-fg; height: 40px; border-bottom: $panel-border; } @@ -222,6 +223,27 @@ li.CodeMirror-hint-active { } /* color the first column */ + +#datagrid .slick-row { + .slick-cell { + background-color: $sql-grid-data-cell-bg; + color: $sql-grid-data-cell-fg; + } + + .slick-cell.l0.r0 { + background-color: $sql-grid-title-cell-bg; + color: $sql-grid-title-cell-fg; + } +} + +#datagrid div.slick-header.ui-state-default { + background-color: $sql-grid-title-cell-bg; + color: $sql-grid-title-cell-fg; + border-bottom: none; + border-right: none; + border-top: none; +} + #datagrid .slick-row .slick-cell.l0.r0.selected { background-color: $color-primary; color: $color-primary-fg; @@ -233,17 +255,10 @@ li.CodeMirror-hint-active { border-bottom: $table-hover-border; } -#datagrid div.slick-header.ui-state-default { - background: $color-bg; - border-bottom: none; - border-right: none; - border-top: none; -} - .pg-text-editor { z-index:10000; position:absolute; - background: $color-bg-theme; + background: $color-bg; padding: 0.25rem; border: $panel-border; box-shadow: $dropdown-box-shadow; @@ -299,3 +314,55 @@ div.strikeout:after { content: "\00B7"; font-size: 1px; } + +.sql-scratch { + width: 100%; + height: 100%; + box-sizing: border-box; + overflow-y: hidden; + + textarea { + width: 100%; + height: 100%; + box-sizing: border-box; + border: none; + resize: none; + } +} + +.icon-query-tool-connected { + color: $color-primary; +} + +.icon-query-tool-disconnected { + color: $color-danger; +} + +.connection_status .obtaining-conn { + background-image: $loader-icon-small !important; + background-position: center center; + background-repeat: no-repeat; + &:before { + content:''; + } + min-width: 50%; + min-height: 100%; +} + +.sql-editor-grid-container { + height: 100%; + overflow: auto; + + .ui-widget-content { + background-color: $input-bg; + color: $input-color; + } + + .ui-state-default { + color: $color-fg; + } +} + +.sql-editor-grid-container.has-no-footer { + height: 100%; +} diff --git a/web/webpack.config.js b/web/webpack.config.js index bc64081e2..2acaacb55 100644 --- a/web/webpack.config.js +++ b/web/webpack.config.js @@ -22,15 +22,20 @@ const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const extractStyle = new MiniCssExtractPlugin({ filename: '[name].css', + chunkFilename: '[name].css', allChunks: true, }); const WebpackRequireFromPlugin = require('webpack-require-from'); const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; +const CopyPlugin = require('copy-webpack-plugin'); +const IconfontWebpackPlugin = require('iconfont-webpack-plugin'); const envType = PRODUCTION ? 'production': 'development'; const devToolVal = PRODUCTION ? false : 'eval'; const analyzerMode = process.env.ANALYZE=='true' ? 'static' : 'disabled'; +const outputPath = __dirname + '/pgadmin/static/js/generated'; + // Expose libraries in app context so they need not to // require('libname') when used in a module const providePlugin = new webpack.ProvidePlugin({ @@ -62,7 +67,7 @@ const optimizeAssetsPlugin = new OptimizeCssAssetsPlugin({ // Reference: https://webpack.js.org/plugins/source-map-dev-tool-plugin/#components/sidebar/sidebar.jsx const sourceMapDevToolPlugin = new webpack.SourceMapDevToolPlugin({ filename: '[name].js.map', - exclude: /(vendor|codemirror|slickgrid|pgadmin\.js|style\.js|popper)/, + exclude: /(vendor|codemirror|slickgrid|pgadmin\.js|pgadmin.theme|pgadmin.static|style\.js|popper)/, columns: false, }); @@ -79,6 +84,16 @@ const bundleAnalyzer = new BundleAnalyzerPlugin({ reportFilename: 'analyze_report.html', }); +let pgadminThemesJson = 'pgadmin.themes.json'; +const copyFiles = new CopyPlugin([ + pgadminThemesJson, + { + from: './pgadmin/static/scss/resources/**/*.png', + to: outputPath + '/img', + flatten: true, + }, +]); + function cssToBeSkiped(curr_path) { /** Skip all templates **/ if(curr_path.indexOf('template') > -1) { @@ -96,7 +111,7 @@ function cssToBeSkiped(curr_path) { /* Get all the style files recursively and store in array to * give input to webpack. */ -function pushModulesCss(curr_path, pgadminStyles) { +function pushModulesStyles(curr_path, pgadminStyles, extn) { /** Skip Directories */ if(cssToBeSkiped(curr_path)) { return; @@ -111,22 +126,223 @@ function pushModulesCss(curr_path, pgadminStyles) { let stats = fs.statSync(path.join(curr_path, curr_file)); /* if directory, dig further */ if(stats.isDirectory()) { - pushModulesCss(path.join(curr_path, curr_file), pgadminStyles); + pushModulesStyles(path.join(curr_path, curr_file), pgadminStyles, extn); } - else if(stats.isFile() && (curr_file.endsWith('.scss') || curr_file.endsWith('.css'))) { + else if(stats.isFile() && (curr_file.endsWith(extn))) { pgadminStyles.push(path.join(curr_path, curr_file)); } }); } -let pgadminStyles = []; +let pgadminScssStyles = []; +let pgadminCssStyles = []; + /* Include what is given in shim config */ for(let i=0; i<webpackShimConfig.css_bundle_include.length; i++) { - pgadminStyles.push(path.join(__dirname, webpackShimConfig.css_bundle_include[i])); + if(webpackShimConfig.css_bundle_include[i].endsWith('.scss')) { + pgadminScssStyles.push(path.join(__dirname, webpackShimConfig.css_bundle_include[i])); + } else if(webpackShimConfig.css_bundle_include[i].endsWith('.css')){ + pgadminCssStyles.push(path.join(__dirname, webpackShimConfig.css_bundle_include[i])); + } } -pushModulesCss(path.join(__dirname,'./pgadmin'), pgadminStyles); -module.exports = { +pushModulesStyles(path.join(__dirname,'./pgadmin'), pgadminScssStyles, '.scss'); +pushModulesStyles(path.join(__dirname,'./pgadmin'), pgadminCssStyles, '.css'); + +/* Get all the themes */ + +let all_themes_dir = path.join(__dirname,'./pgadmin/static/scss/resources'); +let pgadminThemes = {}; +/* Read all the theme dirs */ +/* Theme format + "theme_name": { + "disp_name": "theme_name", + "cssfile": "pgadmin.theme.theme_name", + "preview_img": "theme_name_preview.png" + } +*/ +fs.readdirSync(all_themes_dir).map(function(curr_dir) { + let stats = fs.statSync(path.join(all_themes_dir, curr_dir)); + + if(stats.isDirectory()) { + /* Theme directory found */ + let cssfile = 'pgadmin.theme.'+curr_dir; + pgadminThemes[curr_dir] = { + /* For now lets keep it as beta release */ + disp_name: curr_dir + '_(Beta)', + cssfile: cssfile, + preview_img: curr_dir + '_preview.png', + }; + } +}); + +fs.writeFileSync(pgadminThemesJson, JSON.stringify(pgadminThemes, null, 4)); + +var themeCssRules = function(theme_name) { + return [{ + test: /\.(jpe?g|png|gif|svg)$/i, + loaders: [{ + loader: 'url-loader', + options: { + emitFile: true, + name: 'img/[name].[ext]', + limit: 4096, + }, + }, { + loader: 'image-webpack-loader', + query: { + bypassOnDebug: true, + mozjpeg: { + progressive: true, + }, + gifsicle: { + interlaced: false, + }, + optipng: { + optimizationLevel: 7, + }, + pngquant: { + quality: '75-90', + speed: 3, + }, + }, + }], + exclude: /vendor/, + }, { + test: /\.(eot|svg|ttf|woff|woff2)$/, + loaders: [{ + loader: 'file-loader', + options: { + name: 'fonts/[name].[ext]', + emitFile: true, + }, + }], + include: [ + /node_modules/, + path.join(sourceDir, '/css/'), + path.join(sourceDir, '/scss/'), + path.join(sourceDir, '/fonts/'), + ], + exclude: /vendor/, + }, { + test: /\.scss$/, + use: [ + {loader: MiniCssExtractPlugin.loader}, + {loader: 'css-loader'}, + { + loader: 'postcss-loader', + options: { + plugins: (loader) => [ + require('autoprefixer')(), + new IconfontWebpackPlugin(loader), + ], + }, + }, + {loader: 'sass-loader'}, + { + loader: 'sass-resources-loader', + options: { + resources: function(theme_name){ + let ret_res = [ + './pgadmin/static/scss/resources/' + theme_name + '/_theme.variables.scss', + './pgadmin/static/scss/resources/pgadmin.resources.scss', + ]; + if(theme_name!='standard') { + ret_res.unshift('./pgadmin/static/scss/resources/' + theme_name + '/_theme.variables.scss'); + } + return ret_res; + }(theme_name), + }, + }, + ], + }, { + test: /\.css$/, + use: [ + MiniCssExtractPlugin.loader, + 'css-loader', + { + loader: 'postcss-loader', + options: { + plugins: (loader) => [ + require('autoprefixer')(), + new IconfontWebpackPlugin(loader), + ], + }, + }, + ], + }]; +}; + +var getThemeWebpackConfig = function(theme_name) { + return { + mode: envType, + devtool: devToolVal, + stats: { children: false }, + // The base directory, an absolute path, for resolving entry points and loaders + // from configuration. + context: __dirname, + // Specify entry points of application + entry: { + [pgadminThemes[theme_name].cssfile]: pgadminScssStyles, + }, + // path: The output directory for generated bundles(defined in entry) + // Ref: https://webpack.js.org/configuration/output/#output-library + output: { + libraryTarget: 'amd', + path: outputPath, + filename: '[name].js', + libraryExport: 'default', + }, + // Templates files which contains python code needs to load dynamically + // Such files specified in externals are loaded at first and defined in + // the start of generated bundle within define(['libname'],fn) etc. + externals: webpackShimConfig.externals, + module: { + // References: + // Module and Rules: https://webpack.js.org/configuration/module/ + // Loaders: https://webpack.js.org/loaders/ + // + // imports-loader: it adds dependent modules(use:imports-loader?module1) + // at the beginning of module it is dependency of like: + // var jQuery = require('jquery'); var browser = require('pgadmin.browser') + // It solves number of problems + // Ref: http:/github.com/webpack-contrib/imports-loader/ + rules: themeCssRules(theme_name), + }, + resolve: { + alias: webpackShimConfig.resolveAlias, + modules: ['node_modules', '.'], + extensions: ['.js'], + unsafeCache: true, + }, + // Watch mode Configuration: After initial build, webpack will watch for + // changes in files and compiles only files which are changed, + // if watch is set to True + // Reference: https://webpack.js.org/configuration/watch/#components/sidebar/sidebar.jsx + watchOptions: { + aggregateTimeout: 300, + poll: 1000, + ignored: /node_modules/, + }, + // Define list of Plugins used in Production or development mode + // Ref:https://webpack.js.org/concepts/plugins/#components/sidebar/sidebar.jsx + plugins: PRODUCTION ? [ + extractStyle, + optimizeAssetsPlugin, + sourceMapDevToolPlugin, + ]: [ + extractStyle, + sourceMapDevToolPlugin, + ], + }; +}; + +var pgadminThemesWebpack = []; +Object.keys(pgadminThemes).map((theme_name)=>{ + pgadminThemesWebpack.push(getThemeWebpackConfig(theme_name)); +}); + +module.exports = [{ mode: envType, devtool: devToolVal, stats: { children: false }, @@ -141,14 +357,15 @@ module.exports = { sqleditor: './pgadmin/tools/sqleditor/static/js/sqleditor.js', debugger_direct: './pgadmin/tools/debugger/static/js/direct.js', file_utils: './pgadmin/misc/file_manager/static/js/utility.js', - pgadmin: pgadminStyles, + 'pgadmin.style': pgadminCssStyles, + pgadmin: pgadminScssStyles, style: './pgadmin/static/css/style.css', }, // path: The output directory for generated bundles(defined in entry) // Ref: https://webpack.js.org/configuration/output/#output-library output: { libraryTarget: 'amd', - path: __dirname + '/pgadmin/static/js/generated', + path: outputPath, filename: '[name].js', chunkFilename: '[name].chunk.js', libraryExport: 'default', @@ -282,73 +499,7 @@ module.exports = { use: { loader: 'imports-loader?this=>window,fix=>module.exports=0', }, - }, { - test: /\.(jpe?g|png|gif|svg)$/i, - loaders: [{ - loader: 'url-loader', - options: { - emitFile: true, - name: 'img/[name].[ext]', - limit: 4096, - }, - }, { - loader: 'image-webpack-loader', - query: { - bypassOnDebug: true, - mozjpeg: { - progressive: true, - }, - gifsicle: { - interlaced: false, - }, - optipng: { - optimizationLevel: 7, - }, - pngquant: { - quality: '75-90', - speed: 3, - }, - }, - }], - exclude: /vendor/, - }, { - test: /\.(eot|svg|ttf|woff|woff2)$/, - loaders: [{ - loader: 'file-loader', - options: { - name: 'fonts/[name].[ext]', - emitFile: true, - }, - }], - include: [ - /node_modules/, - path.join(sourceDir, '/css/'), - path.join(sourceDir, '/scss/'), - path.join(sourceDir, '/fonts/'), - ], - exclude: /vendor/, - }, { - test: /\.scss$/, - use: [ - {loader: MiniCssExtractPlugin.loader}, - {loader: 'css-loader'}, - {loader: 'sass-loader'}, - { - loader: 'sass-resources-loader', - options: { - resources: [ - './pgadmin/static/scss/resources/pgadmin.resources.scss', - ], - }, - }, - ], - }, { - test: /\.css$/, - use: [ - MiniCssExtractPlugin.loader, - 'css-loader', - ], - }], + }].concat(themeCssRules('standard')), // Prevent module from parsing through webpack, helps in reducing build time noParse: [/moment.js/], }, @@ -466,10 +617,12 @@ module.exports = { sourceMapDevToolPlugin, webpackRequireFrom, bundleAnalyzer, + copyFiles, ]: [ extractStyle, providePlugin, sourceMapDevToolPlugin, webpackRequireFrom, + copyFiles, ], -}; +}].concat(pgadminThemesWebpack); diff --git a/web/yarn.lock b/web/yarn.lock index 8f325cf2b..9066fa4ae 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -1030,7 +1030,7 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" -argparse@^1.0.7: +argparse@^1.0.6, argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -1188,6 +1188,19 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== +autoprefixer@^9.6.4: + version "9.6.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.4.tgz#e6453be47af316b2923eaeaed87860f52ad4b7eb" + integrity sha512-Koz2cJU9dKOxG8P1f8uVaBntOv9lP4yz9ffWvWaicv9gHBPhpQB22nGijwd8gqW9CNT+UdkbQOQNLVI8jN1ZfQ== + dependencies: + browserslist "^4.7.0" + caniuse-lite "^1.0.30000998" + chalk "^2.4.2" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.18" + postcss-value-parser "^4.0.2" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -2039,7 +2052,7 @@ browserify@^16.1.0, browserify@~16.2.3: vm-browserify "^1.0.0" xtend "^4.0.0" -browserslist@^4.0.0, browserslist@^4.6.0, browserslist@^4.7.1: +browserslist@^4.0.0, browserslist@^4.6.0, browserslist@^4.7.0, browserslist@^4.7.1: version "4.7.2" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.2.tgz#1bb984531a476b5d389cedecb195b2cd69fb1348" integrity sha512-uZavT/gZXJd2UTi9Ov7/Z340WOSQ3+m1iBVRUknf+okKxonL9P83S3ctiBDtuRmRu8PiCHjqyueqQ9HYlJhxiw== @@ -2132,6 +2145,26 @@ [email protected]: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== +cacache@^11.3.3: + version "11.3.3" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" + integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + cacache@^12.0.2: version "12.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" @@ -2253,6 +2286,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001004: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001004.tgz#d879b73981b255488316da946c39327d8c00a586" integrity sha512-3nfOR4O8Wa2RWoYfJkMtwRVOsK96TQ+eq57wd0iKaEWl8dwG4hKZ/g0MVBfCvysFvMLi9fQGR/DvozMdkEPl3g== +caniuse-lite@^1.0.30000998: + version "1.0.30000999" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz#427253a69ad7bea4aa8d8345687b8eec51ca0e43" + integrity sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -2543,7 +2581,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3: +commander@^2.12.2, commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -2691,6 +2729,24 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +copy-webpack-plugin@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz#c78126f604e24f194c6ec2f43a64e232b5d43655" + integrity sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg== + dependencies: + cacache "^11.3.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.0" + schema-utils "^1.0.0" + serialize-javascript "^1.7.0" + webpack-log "^2.0.0" + core-js-compat@^3.1.1: version "3.3.3" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.3.3.tgz#82642808cf484a35292b2f8e83ef9376884e760f" @@ -2970,6 +3026,11 @@ csso@^3.5.1: dependencies: css-tree "1.0.0-alpha.29" +cubic2quad@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/cubic2quad/-/cubic2quad-1.1.1.tgz#69b19c61a3f5b41ecf2f1d5fae8fb03415aa8b15" + integrity sha1-abGcYaP1tB7PLx1fro+wNBWqixU= + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -3248,6 +3309,13 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +dir-glob@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -4296,6 +4364,11 @@ gaze@^1.0.0: dependencies: globule "^1.0.0" +geometry-interfaces@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/geometry-interfaces/-/geometry-interfaces-1.1.4.tgz#9e82af6700ca639a675299f08e1f5fbc4a79d48d" + integrity sha512-qD6OdkT6NcES9l4Xx3auTpwraQruU7dARbQPVO71MKvkGYw5/z/oIiGymuFXrRaEQa5Y67EIojUpaLeGEa5hGA== + get-assigned-identifiers@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz#6dbf411de648cbaf8d9169ebb0d2d576191e2ff1" @@ -4465,6 +4538,18 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + globule@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" @@ -4814,6 +4899,17 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= +iconfont-webpack-plugin@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/iconfont-webpack-plugin/-/iconfont-webpack-plugin-4.2.1.tgz#bd1b1ab2960affd602b207d1523d79dea4f21aea" + integrity sha512-OIBHTSgir7uGwM0nw+UbCsfDXg/OEfn9ixrgsRygKm2nY8JGTy9zHxOWbQE6xDaP92/jYzQL3GjCy3kiBvBYtw== + dependencies: + loader-utils "1.2.3" + postcss "6.0.23" + svg2ttf "4.3.0" + svgicons2svgfont "9.1.1" + ttf2woff "2.0.1" + [email protected], iconv-lite@^0.4.15, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -4850,6 +4946,11 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" + integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -4943,6 +5044,13 @@ immutability-helper@^3.0.0: dependencies: invariant "^2.2.4" +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -4959,6 +5067,13 @@ import-fresh@^3.0.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + import-lazy@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" @@ -5463,6 +5578,11 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= [email protected]: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + [email protected], isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -6156,6 +6276,11 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= +microbuffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/microbuffer/-/microbuffer-1.0.0.tgz#8b3832ed40c87d51f47bb234913a698a756d19d2" + integrity sha1-izgy7UDIfVH0e7I0kTppinVtGdI= + micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -6435,6 +6560,13 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +neatequal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/neatequal/-/neatequal-1.0.0.tgz#2ee1211bc9fa6e4c55715fd210bb05602eb1ae3b" + integrity sha1-LuEhG8n6bkxVcV/SELsFYC6xrjs= + dependencies: + varstream "^0.3.2" + needle@^2.2.1: version "2.3.0" resolved "https://registry.yarnpkg.com/needle/-/needle-2.3.0.tgz#ce3fea21197267bacb310705a7bbe24f2a3a3492" @@ -6589,6 +6721,11 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + [email protected]: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" @@ -6660,6 +6797,11 @@ null-check@^1.0.0: resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" integrity sha1-l33/1xdgErnsMNKjnbXPcqBDnt0= +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" @@ -6918,7 +7060,7 @@ p-is-promise@^2.0.0: resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== -p-limit@^2.0.0: +p-limit@^2.0.0, p-limit@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== @@ -6968,7 +7110,7 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pako@~1.0.5: +pako@^1.0.0, pako@~1.0.5: version "1.0.10" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== @@ -7118,6 +7260,13 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + pbkdf2@^3.0.3: version "3.0.17" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" @@ -7276,6 +7425,24 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" +postcss-load-config@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" + integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" + integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + postcss-merge-longhand@^4.0.11: version "4.0.11" resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" @@ -7531,10 +7698,24 @@ postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.20" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.20.tgz#a107b68ef1ad1c5e6e214ebb3c5ede2799322837" - integrity sha512-VOdO3a5nHVftPSEbG1zaG320b4mH5KAflH+pIeVAF5/hlw6YumELSgHZQBekjg29Oj4qw7XAyp9tIEBpeNWcyg== +postcss-value-parser@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" + integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== + [email protected]: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.18, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.21" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" + integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -7789,6 +7970,16 @@ read-pkg@^1.0.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" +readable-stream@^1.0.33: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" @@ -8371,6 +8562,11 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + slice-ansi@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" @@ -8765,6 +8961,16 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string.fromcodepoint@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string.fromcodepoint/-/string.fromcodepoint-0.2.1.tgz#8d978333c0bc92538f50f383e4888f3e5619d653" + integrity sha1-jZeDM8C8klOPUPOD5IiPPlYZ1lM= + +string.prototype.codepointat@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz#004ad44c8afc727527b108cd462b4d971cd469bc" + integrity sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg== + string.prototype.trimleft@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" @@ -8788,6 +8994,11 @@ string_decoder@^1.0.0, string_decoder@^1.1.1: dependencies: safe-buffer "~5.2.0" +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -8890,13 +9101,46 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^5.3.0: +supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" +svg-pathdata@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/svg-pathdata/-/svg-pathdata-5.0.2.tgz#e667b94a6071b60c5b123df04f9d6c9fe2f4850e" + integrity sha512-tmfwioGZZaSMZnAGCFiWd30O2sVbA5/wVP/CS8Pcf9s1ptd6J26bZUFwkIRZy+GYmD+uCECdiAP7bPpLszj+1w== + [email protected]: + version "4.3.0" + resolved "https://registry.yarnpkg.com/svg2ttf/-/svg2ttf-4.3.0.tgz#433440c7e9062f8fdcec3cad721cd08a2c7e51e3" + integrity sha512-LZ0B7zzHWLWbzLzwaKGHQvPOuxCXLReIb3LSxFSGUy1gMw2Utk6KGNbTmbmRL6Rk1qDSmTixnDrQgnXaL9n0CA== + dependencies: + argparse "^1.0.6" + cubic2quad "^1.0.0" + lodash "^4.17.10" + microbuffer "^1.0.0" + svgpath "^2.1.5" + xmldom "~0.1.22" + [email protected]: + version "9.1.1" + resolved "https://registry.yarnpkg.com/svgicons2svgfont/-/svgicons2svgfont-9.1.1.tgz#655d30c256176f6e29c96058609ef0a9b0ebf2df" + integrity sha512-iOj7lqHP/oMrLg7S2Iv89LOJUfmIuePefXcs5ul4IsKwcYvL/T/Buahz+nQQJygyuvEMBBXqnCRmnvJggHeJzA== + dependencies: + commander "^2.12.2" + geometry-interfaces "^1.1.4" + glob "^7.1.2" + neatequal "^1.0.0" + readable-stream "^2.3.3" + sax "^1.2.4" + string.fromcodepoint "^0.2.1" + string.prototype.codepointat "^0.2.0" + svg-pathdata "^5.0.0" + transformation-matrix-js "^2.7.1" + svgo@^1.0.0, svgo@^1.0.5: version "1.3.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.0.tgz#bae51ba95ded9a33a36b7c46ce9c359ae9154313" @@ -8916,6 +9160,11 @@ svgo@^1.0.0, svgo@^1.0.5: unquote "~1.1.1" util.promisify "~1.0.0" +svgpath@^2.1.5: + version "2.2.2" + resolved "https://registry.yarnpkg.com/svgpath/-/svgpath-2.2.2.tgz#1c70d44e27f7b6bd42a74ed3c960be93e411def3" + integrity sha512-7cXFbkZvPkZpKLC+3QIfyUd3/Un/CvJONjTD3Gz5qLuEa73StPOt8kZjTi9apxO6zwCaza0bPNnmzTyrQ4qQlw== + syntax-error@^1.1.1: version "1.4.0" resolved "https://registry.yarnpkg.com/syntax-error/-/syntax-error-1.4.0.tgz#2d9d4ff5c064acb711594a3e3b95054ad51d907c" @@ -9205,6 +9454,11 @@ tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" +transformation-matrix-js@^2.7.1: + version "2.7.6" + resolved "https://registry.yarnpkg.com/transformation-matrix-js/-/transformation-matrix-js-2.7.6.tgz#25c7ff055c99b8528ffbd4c4a2684be6c9d5ef60" + integrity sha512-1CxDIZmCQ3vA0GGnkdMQqxUXVm3xXAFmglPYRS1hr37LzSg22TC7QAWOT38OmdUvMEs/rqcnkFoAsqvzdiluDg== + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -9234,6 +9488,15 @@ tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== [email protected]: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ttf2woff/-/ttf2woff-2.0.1.tgz#871832240024b09db9570904c7c1928b8057c969" + integrity sha1-hxgyJAAksJ25VwkEx8GSi4BXyWk= + dependencies: + argparse "^1.0.6" + microbuffer "^1.0.0" + pako "^1.0.0" + [email protected]: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -9554,6 +9817,13 @@ value-or-function@^3.0.0: resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= +varstream@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/varstream/-/varstream-0.3.2.tgz#18ac6494765f3ff1a35ad9a4be053bec188a5de1" + integrity sha1-GKxklHZfP/GjWtmkvgU77BiKXeE= + dependencies: + readable-stream "^1.0.33" + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -9870,6 +10140,11 @@ xmlbuilder@^10.0.0: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.1.1.tgz#8cae6688cc9b38d850b7c8d3c0a4161dcaf475b0" integrity sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg== +xmldom@~0.1.22: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= + xmlhttprequest-ssl@~1.5.4: version "1.5.5" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-07 13:25 Akshay Joshi <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Akshay Joshi @ 2019-11-07 13:25 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: pgadmin-hackers Thanks, patch applied. On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > Attached is the updated patch with few more changes and corrections. > Kindly review. > > On Wed, Nov 6, 2019 at 12:32 PM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Hackers, >> >> Attached is the patch to introduce theme options in pgAdmin. >> Changes include: >> 1) New theme option in preferences - Miscellaneous -> Themes. You can >> select the theme from the dropdown. It also has a preview of the theme just >> below the dropdown. Note that, a page refresh is needed to apply changes. >> On saving, a dialog appears to ask for refresh. >> 2) You can create your own theme and submit to hackers. README is updated >> to help you create a theme. Theme will be available only after bundle. >> 3) Correction of SASS variables at few places and few other CSS >> corrections. >> 4) Added iconfont-webpack-plugin, which will convert all the svg >> files(monochrome) used as icons for buttons to font icons. This will allow >> us to change the color of icon by using CSS color property. >> 5) All the .css files will bundle into a separate file now- >> pgadmin.style.css. This will help reduce the size of theme css files as CSS >> in .css files will not change with the change of SASS variables. >> 6) "Dark Beta" theme added as a new theme option. >> >> How theme is built ? >> Webpack config is changed to achieve it. On running yarn run bundle, code >> will read all the directories in web/pgadmin/static/scss/resources which >> will be considered as theme dirs, build a separate css for every theme and >> then create a file named pgadmin.themes.json which will have all the >> information required. >> >> The patch also fixes RM4173, where there some issue with arrow icons in >> browser tree. >> >> Kindly review. >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-07 14:18 Dave Page <[email protected]> parent: Akshay Joshi <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Dave Page @ 2019-11-07 14:18 UTC (permalink / raw) To: Akshay Joshi <[email protected]>; +Cc: Aditya Toshniwal <[email protected]>; pgadmin-hackers On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi <[email protected]> wrote: > Thanks, patch applied. > > On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Hackers, >> >> Attached is the updated patch with few more changes and corrections. >> Kindly review. >> > I've committed a couple of minor tweaks - one to remove a space, e.g. gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), is now: gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), And another change to fix the word wrapping in the README which was totally different from the rest of the file. Thanks! >> On Wed, Nov 6, 2019 at 12:32 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Hackers, >>> >>> Attached is the patch to introduce theme options in pgAdmin. >>> Changes include: >>> 1) New theme option in preferences - Miscellaneous -> Themes. You can >>> select the theme from the dropdown. It also has a preview of the theme just >>> below the dropdown. Note that, a page refresh is needed to apply changes. >>> On saving, a dialog appears to ask for refresh. >>> 2) You can create your own theme and submit to hackers. README is >>> updated to help you create a theme. Theme will be available only after >>> bundle. >>> 3) Correction of SASS variables at few places and few other CSS >>> corrections. >>> 4) Added iconfont-webpack-plugin, which will convert all the svg >>> files(monochrome) used as icons for buttons to font icons. This will allow >>> us to change the color of icon by using CSS color property. >>> 5) All the .css files will bundle into a separate file now- >>> pgadmin.style.css. This will help reduce the size of theme css files as CSS >>> in .css files will not change with the change of SASS variables. >>> 6) "Dark Beta" theme added as a new theme option. >>> >>> How theme is built ? >>> Webpack config is changed to achieve it. On running yarn run bundle, >>> code will read all the directories in web/pgadmin/static/scss/resources >>> which will be considered as theme dirs, build a separate css for every >>> theme and then create a file named pgadmin.themes.json which will have all >>> the information required. >>> >>> The patch also fixes RM4173, where there some issue with arrow icons in >>> browser tree. >>> >>> Kindly review. >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > > *Sr. Software Architect* > *EnterpriseDB Software India Private Limited* > *Mobile: +91 976-788-8246* > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-07 14:26 Dave Page <[email protected]> parent: Dave Page <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Dave Page @ 2019-11-07 14:26 UTC (permalink / raw) To: Akshay Joshi <[email protected]>; +Cc: Aditya Toshniwal <[email protected]>; pgadmin-hackers On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: > > On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi <[email protected]> > wrote: > >> Thanks, patch applied. >> >> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Hackers, >>> >>> Attached is the updated patch with few more changes and corrections. >>> Kindly review. >>> >> > I've committed a couple of minor tweaks - one to remove a space, e.g. > > gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), > > is now: > > gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), > > And another change to fix the word wrapping in the README which was > totally different from the rest of the file. > > Thanks! > Oh, and do we need all the code in config.py? I really didn't even want a config option in there to turn theming on or off (what's the point?), let alone 20 new lines. -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 07:01 Aditya Toshniwal <[email protected]> parent: Dave Page <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-11 07:01 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers Hi Dave, On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: > > > On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: > >> >> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >> [email protected]> wrote: >> >>> Thanks, patch applied. >>> >>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Hackers, >>>> >>>> Attached is the updated patch with few more changes and corrections. >>>> Kindly review. >>>> >>> >> I've committed a couple of minor tweaks - one to remove a space, e.g. >> >> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >> >> is now: >> >> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >> >> And another change to fix the word wrapping in the README which was >> totally different from the rest of the file. >> >> Thanks! >> > > Oh, and do we need all the code in config.py? I really didn't even want a > config option in there to turn theming on or off (what's the point?), let > alone 20 new lines. > The code is added after the config_local and config_distro is loaded. So, user won't be able to disable it unless he directly changes the config.py. I'll reduce the code a bit. > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 09:08 Dave Page <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Dave Page @ 2019-11-11 09:08 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers Hi On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < [email protected]> wrote: > Hi Dave, > > On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: > >> >> >> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: >> >>> >>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>> [email protected]> wrote: >>> >>>> Thanks, patch applied. >>>> >>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> Hi Hackers, >>>>> >>>>> Attached is the updated patch with few more changes and corrections. >>>>> Kindly review. >>>>> >>>> >>> I've committed a couple of minor tweaks - one to remove a space, e.g. >>> >>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>> >>> is now: >>> >>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>> >>> And another change to fix the word wrapping in the README which was >>> totally different from the rest of the file. >>> >>> Thanks! >>> >> >> Oh, and do we need all the code in config.py? I really didn't even want a >> config option in there to turn theming on or off (what's the point?), let >> alone 20 new lines. >> > The code is added after the config_local and config_distro is loaded. So, > user won't be able to disable it unless he directly changes the config.py. > That is clearly wrong and needs to be fixed. config_local and config_distro should be able to override anything in config.py. But... why allow the themes to be updated or disabled at all? It's not like a non-developer can add new ones, and it's not a security issue that an administrator might need to control. In fact, it's arguably an accessibility feature, for those whose eyes (like mine) last the day better with a darker theme. Let's remove it entirely please. I don't see any good reason to have any of that in config.py. Thanks. > I'll reduce the code a bit. > >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 09:30 Aditya Toshniwal <[email protected]> parent: Dave Page <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-11 09:30 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers Hi Dave, On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> wrote: > Hi > > On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Dave, >> >> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: >> >>> >>> >>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: >>> >>>> >>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>> [email protected]> wrote: >>>> >>>>> Thanks, patch applied. >>>>> >>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Hackers, >>>>>> >>>>>> Attached is the updated patch with few more changes and corrections. >>>>>> Kindly review. >>>>>> >>>>> >>>> I've committed a couple of minor tweaks - one to remove a space, e.g. >>>> >>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>> >>>> is now: >>>> >>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>> >>>> And another change to fix the word wrapping in the README which was >>>> totally different from the rest of the file. >>>> >>>> Thanks! >>>> >>> >>> Oh, and do we need all the code in config.py? I really didn't even want >>> a config option in there to turn theming on or off (what's the point?), let >>> alone 20 new lines. >>> >> The code is added after the config_local and config_distro is loaded. So, >> user won't be able to disable it unless he directly changes the config.py. >> > > That is clearly wrong and needs to be fixed. config_local and > config_distro should be able to override anything in config.py. > > But... why allow the themes to be updated or disabled at all? It's not > like a non-developer can add new ones, and it's not a security issue that > an administrator might need to control. In fact, it's arguably an > accessibility feature, for those whose eyes (like mine) last the day better > with a darker theme. > > Let's remove it entirely please. I don't see any good reason to have any > of that in config.py. > Intention is not to allow disabling the themes, but it's the feature implementation code. I'll move out the code. > > Thanks. > > >> I'll reduce the code a bit. >> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 09:37 Aditya Toshniwal <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-11 09:37 UTC (permalink / raw) To: pgadmin-hackers; Ashesh Vashi <[email protected]>; +Cc: Akshay Joshi <[email protected]>; Dave Page <[email protected]> Hi Hackers, Attached is the patch for further improvements in the Dark theme colors. Gray shades and other colors are changed to identify different components more clearly. Few of the controls were missing the privileges of dark theme, fixed that. Few dashboard graph related changes. As suggested, theme related code changes is removed from config.py and moved to miscellaneous under a new package - Themes. Thank you @Ashesh Vashi <[email protected]> for inputs on that. Kindly review. On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < [email protected]> wrote: > Hi Dave, > > On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> wrote: > >> Hi >> >> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Dave, >>> >>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: >>> >>>> >>>> >>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: >>>> >>>>> >>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>> [email protected]> wrote: >>>>> >>>>>> Thanks, patch applied. >>>>>> >>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Hackers, >>>>>>> >>>>>>> Attached is the updated patch with few more changes and corrections. >>>>>>> Kindly review. >>>>>>> >>>>>> >>>>> I've committed a couple of minor tweaks - one to remove a space, e.g. >>>>> >>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>> >>>>> is now: >>>>> >>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>> >>>>> And another change to fix the word wrapping in the README which was >>>>> totally different from the rest of the file. >>>>> >>>>> Thanks! >>>>> >>>> >>>> Oh, and do we need all the code in config.py? I really didn't even want >>>> a config option in there to turn theming on or off (what's the point?), let >>>> alone 20 new lines. >>>> >>> The code is added after the config_local and config_distro is loaded. >>> So, user won't be able to disable it unless he directly changes the >>> config.py. >>> >> >> That is clearly wrong and needs to be fixed. config_local and >> config_distro should be able to override anything in config.py. >> >> But... why allow the themes to be updated or disabled at all? It's not >> like a non-developer can add new ones, and it's not a security issue that >> an administrator might need to control. In fact, it's arguably an >> accessibility feature, for those whose eyes (like mine) last the day better >> with a darker theme. >> >> Let's remove it entirely please. I don't see any good reason to have any >> of that in config.py. >> > Intention is not to allow disabling the themes, but it's the feature > implementation code. I'll move out the code. > >> >> Thanks. >> >> >>> I'll reduce the code a bit. >>> >>>> >>>> -- >>>> Dave Page >>>> Blog: http://pgsnake.blogspot.com >>>> Twitter: @pgsnake >>>> >>>> EnterpriseDB UK: http://www.enterprisedb.com >>>> The Enterprise PostgreSQL Company >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [application/octet-stream] RM4348.part2.patch (22.1K, 3-RM4348.part2.patch) download | inline diff: diff --git a/web/config.py b/web/config.py index f992cc487..d7802d695 100644 --- a/web/config.py +++ b/web/config.py @@ -487,25 +487,6 @@ try: except ImportError: pass -THEMES = { - "standard": { - "disp_name": "Standard", - "cssfile": "pgadmin", - "preview_img": "standard_preview.png" - } -} - -OTHER_THEMES = {} -try: - extra_themes = json.load(open('pgadmin.themes.json')) - OTHER_THEMES.update(extra_themes) -except Exception: - pass - -# Set OTHER_THEMES to None here to disable all other themes - -if OTHER_THEMES is not None: - THEMES.update(OTHER_THEMES) # SUPPORT_SSH_TUNNEL can be override in local config file and if that # setting is False in local config then we should not check the Python version. diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py index 41ca051f1..8a38c0ad0 100644 --- a/web/pgadmin/__init__.py +++ b/web/pgadmin/__init__.py @@ -711,28 +711,18 @@ def create_app(app_name=None): from flask_compress import Compress Compress(app) + from pgadmin.misc.themes import Themes + Themes(app) + @app.context_processor def inject_blueprint(): """ Inject a reference to the current blueprint, if any. - Also the get_theme_css func. """ - def get_theme_css(): - misc_preference = Preferences.module('misc') - theme = misc_preference.preference('theme').get() - theme_css = config.THEMES['standard']['cssfile'] + '.css' - - if theme not in config.THEMES: - pass - else: - theme_css = config.THEMES[theme]['cssfile'] + '.css' - return theme_css - return { 'current_app': current_app, 'current_blueprint': current_blueprint, - 'get_theme_css': get_theme_css, } @app.errorhandler(Exception) diff --git a/web/pgadmin/dashboard/static/js/charting.js b/web/pgadmin/dashboard/static/js/charting.js index 3b9a4c24a..6b1395507 100644 --- a/web/pgadmin/dashboard/static/js/charting.js +++ b/web/pgadmin/dashboard/static/js/charting.js @@ -32,6 +32,10 @@ export class Chart { }, shadowSize: 0, resolution : 3, + grid: { + color: 'transparent', + tickColor: '#8f8f8f', + }, }; this._dataset = null; diff --git a/web/pgadmin/dashboard/static/scss/_dashboard.scss b/web/pgadmin/dashboard/static/scss/_dashboard.scss index 4b204a3bb..ba51650b8 100644 --- a/web/pgadmin/dashboard/static/scss/_dashboard.scss +++ b/web/pgadmin/dashboard/static/scss/_dashboard.scss @@ -43,10 +43,23 @@ & .flotr-labels { color: $color-fg !important; } - & .flotr-legend { - .flotr-legend-label { + & .flotr-legend { + border: none !important; + padding: 0.25rem 0.5rem; + & .flotr-legend-label { color: $color-fg !important; padding-left: 0.25rem; } - } + + & .flotr-legend-color-box>div { + border: none !important; + &>div { + border: none !important; + } + } + + & .flotr-legend-bg { + border-radius: $border-radius; + } + } } diff --git a/web/pgadmin/misc/__init__.py b/web/pgadmin/misc/__init__.py index 68d4381af..d0bef8e15 100644 --- a/web/pgadmin/misc/__init__.py +++ b/web/pgadmin/misc/__init__.py @@ -14,9 +14,8 @@ from flask import url_for, render_template, Response, request from flask_babelex import gettext from pgadmin.utils import PgAdminModule from pgadmin.utils.csrf import pgCSRFProtect -from pgadmin.utils.preferences import Preferences from pgadmin.utils.session import cleanup_session_files - +from pgadmin.misc.themes import get_all_themes import config MODULE_NAME = 'misc' @@ -68,16 +67,16 @@ class MiscModule(PgAdminModule): theme_options = [] - for theme in config.THEMES: + for theme, theme_data in (get_all_themes()).items(): theme_options.append({ - 'label': config.THEMES[theme]['disp_name'] + 'label': theme_data['disp_name'] .replace('_', ' ') .replace('-', ' ') .title(), 'value': theme, 'preview_src': url_for( 'static', filename='js/generated/img/' + - config.THEMES[theme]['preview_img'] + theme_data['preview_img'] ) }) diff --git a/web/pgadmin/misc/themes/__init__.py b/web/pgadmin/misc/themes/__init__.py new file mode 100644 index 000000000..a6af5d50f --- /dev/null +++ b/web/pgadmin/misc/themes/__init__.py @@ -0,0 +1,39 @@ +import json +from pgadmin.utils.preferences import Preferences + + +def get_all_themes(): + all_themes = { + "standard": { + "disp_name": "Standard", + "cssfile": "pgadmin", + "preview_img": "standard_preview.png" + } + } + + try: + all_themes.update(json.load(open('pgadmin.themes.json'))) + except Exception as _: + pass + + return all_themes + + +def Themes(app): + @app.context_processor + def inject_theme_func(): + def get_theme_css(): + all_themes = get_all_themes() + misc_preference = Preferences.module('misc') + theme = misc_preference.preference('theme').get() + theme_css = all_themes['standard']['cssfile'] + '.css' + + if theme not in all_themes: + pass + else: + theme_css = all_themes[theme]['cssfile'] + '.css' + return theme_css + + return { + 'get_theme_css': get_theme_css, + } diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index 4d9aa9155..77c5d1449 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -2067,7 +2067,7 @@ define([ } let new_value = _.findWhere(this.field.get('options'), {value: evt.params.data.id}); - if(new_value.preview_src) { + if(!_.isUndefined(new_value.preview_src) && new_value.preview_src) { this.$el.find('.preview-img img').attr('src', new_value.preview_src); } }, diff --git a/web/pgadmin/static/scss/_backgrid.overrides.scss b/web/pgadmin/static/scss/_backgrid.overrides.scss index c929ddd45..eac250256 100644 --- a/web/pgadmin/static/scss/_backgrid.overrides.scss +++ b/web/pgadmin/static/scss/_backgrid.overrides.scss @@ -10,6 +10,14 @@ cursor: pointer; } +.backgrid .ascending .sort-caret { + border-bottom-color: $color-fg; +} + +.backgrid .descending .sort-caret { + border-top-color: $color-fg; +} + .backgrid.backgrid-striped tbody { & tr:nth-child(even) { background: $table-bg; @@ -80,8 +88,8 @@ .backgrid thead td, .backgrid thead th{ - background: $color-bg; - background-color: $color-bg !important; + background: $table-bg; + background-color: $table-bg !important; text-align: left; } @@ -203,7 +211,7 @@ span.form-control:disabled { } .subnode-header { - background-color: $color-bg; + background-color: $header-bg; color: $color-fg; border-bottom: $panel-border; } diff --git a/web/pgadmin/static/scss/_pgadmin.style.scss b/web/pgadmin/static/scss/_pgadmin.style.scss index 53aeddf8b..891bb9a0d 100644 --- a/web/pgadmin/static/scss/_pgadmin.style.scss +++ b/web/pgadmin/static/scss/_pgadmin.style.scss @@ -186,7 +186,7 @@ &.pg-prop-btn-group-below { text-align: right; padding: $footer-padding; - background: $color-bg; + background: $header-bg; border-top: $panel-border; } } @@ -353,7 +353,7 @@ display: block; text-align: left; cursor: pointer; - background-color: $color-bg; + background-color: $header-bg; padding: 7px; font-size: inherit; border-bottom: $panel-border; @@ -842,7 +842,7 @@ body { } .nav-tabs { - background-color: $color-bg; + background-color: $header-bg; } .editor-toolbar { @@ -1034,3 +1034,28 @@ textarea { color: $input-color; background-color: $input-bg; } + + +/* Custom scrollbar */ +/* width */ +::-webkit-scrollbar { + width: 0.5rem; + height: 0.5rem; +} + +/* Track */ +::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { + background: transparent; + background-color: transparent; +} + +/* Handle */ +::-webkit-scrollbar-thumb { + background: $scrollbar-color; + border-radius: $border-radius; +} + +/* Handle on hover */ +::-webkit-scrollbar-thumb:hover { + background: $scrollbar-hover-color; +} diff --git a/web/pgadmin/static/scss/_webcabin.pgadmin.scss b/web/pgadmin/static/scss/_webcabin.pgadmin.scss index 91dfb57d2..fca37c979 100644 --- a/web/pgadmin/static/scss/_webcabin.pgadmin.scss +++ b/web/pgadmin/static/scss/_webcabin.pgadmin.scss @@ -24,7 +24,7 @@ .wcFrameTitleBar { height: $title-height; - background-color: $color-bg; + background-color: $header-bg; border-bottom: $panel-border; } @@ -52,7 +52,7 @@ .wcFrameButtonBar { height: $title-height; - background-color: $color-bg; + background-color: inherit; border-bottom: $panel-border; padding: 0rem 0.25rem; @@ -162,7 +162,7 @@ .wcFloating .wcFrameTitleBar { height: $title-height; - background-color: $color-bg; + background-color: $header-bg; border-bottom: $panel-border; } diff --git a/web/pgadmin/static/scss/resources/_default.variables.scss b/web/pgadmin/static/scss/resources/_default.variables.scss index f09b11fb1..580cd483e 100644 --- a/web/pgadmin/static/scss/resources/_default.variables.scss +++ b/web/pgadmin/static/scss/resources/_default.variables.scss @@ -58,6 +58,8 @@ $grid-gutter-width: 15px; $border-radius: 0.25rem; $text-muted: $color-gray-dark !default; +$header-bg: $color-bg !default; + $navbar-bg: $color-primary; $navbar-font-size: 0.925rem; @@ -73,6 +75,8 @@ $navbar-toggler-padding-y: 0.25rem; //no-change $form-group-margin-bottom: 0.5rem; $btn-active-box-shadow: none; +$negative-bg: $color-gray-light !default; + $dropdown-bg: $color-bg; $dropdown-color: $color-fg; $dropdown-link-color: $color-fg; @@ -100,7 +104,7 @@ $card-spacer-y: 0rem; $card-spacer-x: 0rem; $card-border-radius: $border-radius; $card-border-color: $border-color; -$card-cap-bg: $color-bg; +$card-cap-bg: $header-bg; $card-bg: $color-bg; $navbar-padding-y: 0rem; @@ -139,6 +143,11 @@ $input-border-width: $input-btn-border-width; $input-btn-padding-y: .25rem; $input-btn-padding-x: .75rem; +$btn-primary-color: $color-primary-fg; +$btn-success-color: $color-success-fg; +$btn-warning-color: $color-warning-fg; +$btn-danger-color: $color-danger-fg; + $component-active-bg: $color-primary; $input-btn-focus-width: .2rem; $input-btn-focus-color: rgba($component-active-bg, .25); @@ -183,7 +192,7 @@ $splitter-hover-width: 7px; $dropdown-submenu-top: -$dropdown-spacer; -$table-bg: $color-bg; +$table-bg: $color-bg !default; $table-bg-selected: $color-primary-light; $table-hover-border-color: $color-primary; $table-hover-border: $panel-border-width solid $color-primary !important; @@ -205,7 +214,7 @@ $sql-title-bg: #5b6d7c; $sql-title-fg: $white; // Toolbar + editor title heights + title bottom border $sql-editor-panel-top: $title-height + $text-height-calc*16px + $sql-title-padding*2 + $panel-border-width; -$sql-gutters-bg: $color-gray-light; +$sql-gutters-bg: $negative-bg; $sql-history-detail-bg: $color-gray-lighter; $sql-history-success-bg: $color-primary-light; $sql-history-success-fg: $active-color; @@ -224,7 +233,6 @@ $explain-sev-4-bg: #880000 !default; $explain-sev-3-color: #FFFFFF !default; $explain-sev-4-color: #FFFFFF !default; -$negative-bg: $color-gray-light !default; $dialog-box-shadow: 0 0.5rem 3rem $shadow-base-color; $alert-icon-color: $white; @@ -238,6 +246,9 @@ $no-border-radius: 0px !important; $btn-checkbox-padding: $input-btn-padding-y $input-btn-padding-x; +$scrollbar-color: $color-gray !default; +$scrollbar-hover-color: $color-gray-dark !default; + $security-text-color: $white; $security-btn-color: #038bba; diff --git a/web/pgadmin/static/scss/resources/_theme.variables.scss.sample b/web/pgadmin/static/scss/resources/_theme.variables.scss.sample index 30bc06060..b35d53805 100644 --- a/web/pgadmin/static/scss/resources/_theme.variables.scss.sample +++ b/web/pgadmin/static/scss/resources/_theme.variables.scss.sample @@ -49,6 +49,10 @@ $popover-body-color: $color-fg; $active-color: $color-primary; +$header-bg: $color-gray-lighter; + +$table-bg: $color-gray-lighter; + $color-editor-fg: $color-fg; $color-editor-keyword: #908; $color-editor-number: #964; @@ -70,5 +74,9 @@ $explain-sev-4-color: #FFFFFF; $negative-bg: $color-gray-light; +/* Works only with chromium browsers */ +$scrollbar-color: $color-gray-lighter!default; +$scrollbar-hover-color: #666666 !default; + $loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%23326690;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; $loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%23222222;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; diff --git a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss index defd56a9a..3d046235b 100644 --- a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss +++ b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss @@ -1,23 +1,23 @@ $white: #fff; $black: #000; -$color-bg: #222; +$color-bg: #212121; $color-fg: #ddd; -$color-primary: #40617d; -$color-primary-fg: $white; +$color-primary: #234d6e; +$color-primary-fg: $color-fg; $color-primary-light: #536270; $color-primary-light-fg: $color-primary-fg; $color-primary-dark: #15354f; -$color-secondary: #424242; +$color-secondary: #6b6b6b; -$color-danger: #ff5370; +$color-danger: #da6758; $color-danger-fg: $white; $color-danger-light: #914649; -$color-danger-lighter: #8f8282; +$color-danger-lighter: #212121; -$color-success: #6baa7f; +$color-success: #1a522b; $color-success-fg: $black; $color-success-light: #5a7863; @@ -25,21 +25,18 @@ $color-warning: #eea236; $color-warning-fg: $black; $color-warning-light: #fce5c5; -/* For dark theme - colors are in reverse order - * gray-dark is lighter then gray-light - */ -$color-gray-dark: #595959; -$color-gray: #424242; +$color-gray-dark: #212121; +$color-gray: #2e2e2e; $color-gray-light: #303030; -$color-gray-lighter: #212121; +$color-gray-lighter: #424242; $color-brand: $white; -$border-color: $color-gray; -$shadow-base-color: $color-gray-lighter; +$border-color: #4a4a4a; +$shadow-base-color: #111111; $text-muted: #9d9fa1; -$input-bg: $color-gray-lighter; +$input-bg: $color-gray-light; $input-color: $color-fg; $input-disabled-bg: $color-bg; @@ -48,16 +45,20 @@ $popover-body-color: $color-fg; $active-color: $color-fg; -$color-editor-fg: #9cdcfe; -$color-editor-keyword: #c58680; -$color-editor-number: #81bb67; -$color-editor-string: #dcdcaa; -$color-editor-variable: #9cdcfe; -$color-editor-variable-2: #9cdcfe; -$color-editor-builtin: #dcdcaa; -$color-editor-comment: #81bb67; -$color-editor-bracket: #d4d4d4; -$color-editor-operator: #d4d4d4; +$header-bg: $color-gray-lighter; + +$table-bg: $color-gray-lighter; + +$color-editor-fg: #7dc9f1; +$color-editor-keyword: #db7c74; +$color-editor-number: #7fcc5c; +$color-editor-string: #e4e487; +$color-editor-variable: #7dc9f1; +$color-editor-variable-2: #7dc9f1; +$color-editor-builtin: #e4e487; +$color-editor-comment: #7fcc5c; +$color-editor-bracket: #d6aaaa; +$color-editor-operator: #d6aaaa; $color-editor-foldmarker: #0000FF !default; $color-editor-activeline: #50B0F0 !default; @@ -69,5 +70,8 @@ $explain-sev-4-color: $color-fg; $negative-bg: $color-bg; +$scrollbar-color: $color-gray-lighter!default; +$scrollbar-hover-color: #666666 !default; + $loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%2340617d;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; $loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%2340617d;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/index.html b/web/pgadmin/tools/datagrid/templates/datagrid/index.html index 30e87c558..9c05e641b 100644 --- a/web/pgadmin/tools/datagrid/templates/datagrid/index.html +++ b/web/pgadmin/tools/datagrid/templates/datagrid/index.html @@ -220,7 +220,7 @@ </ul> </div> <div class="btn-group mr-1" role="group" aria-label=""> - <select id="btn-rows-limit" class="limit" disabled + <select id="btn-rows-limit" class="limit form-control form-control-sm" disabled title="" accesskey="" tabindex="0"> diff --git a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css index 62c0f2c56..031a87444 100644 --- a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css +++ b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css @@ -252,6 +252,7 @@ input.editor-checkbox:focus { .connection_status { font-size: 1rem; + width: 40px; } .icon-query-tool-connected:before { diff --git a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss index 0ecfc3894..74a2d8037 100644 --- a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss +++ b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss @@ -18,6 +18,10 @@ z-index: 0; } +.connection_status { + background-color: $color-primary; + color: $color-primary-fg; +} .editor-title { padding: $sql-title-padding; @@ -39,10 +43,6 @@ background: $color-primary-light; } -.connection_status { - width: 40px; -} - .ajs-body .warn-icon { color: $color-warning; @@ -57,16 +57,6 @@ border-bottom: $panel-border; } -.connection_status .fa-clock-o, -.connection_status .fa-hourglass-half { - color: $color-warning; -} - -.connection_status .fa-exclamation-circle, -.connection_status .fa-exclamation-triangle { - color: $color-danger; -} - li.CodeMirror-hint-active { background: $color-primary-light; color: $color-primary-fg; @@ -330,14 +320,6 @@ div.strikeout:after { } } -.icon-query-tool-connected { - color: $color-primary; -} - -.icon-query-tool-disconnected { - color: $color-danger; -} - .connection_status .obtaining-conn { background-image: $loader-icon-small !important; background-position: center center; diff --git a/web/webpack.config.js b/web/webpack.config.js index 2acaacb55..fd30cae06 100644 --- a/web/webpack.config.js +++ b/web/webpack.config.js @@ -35,6 +35,7 @@ const devToolVal = PRODUCTION ? false : 'eval'; const analyzerMode = process.env.ANALYZE=='true' ? 'static' : 'disabled'; const outputPath = __dirname + '/pgadmin/static/js/generated'; +const pgadminThemesJson = 'pgadmin.themes.json'; // Expose libraries in app context so they need not to // require('libname') when used in a module @@ -84,7 +85,6 @@ const bundleAnalyzer = new BundleAnalyzerPlugin({ reportFilename: 'analyze_report.html', }); -let pgadminThemesJson = 'pgadmin.themes.json'; const copyFiles = new CopyPlugin([ pgadminThemesJson, { ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 10:12 Aditya Toshniwal <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-11 10:12 UTC (permalink / raw) To: pgadmin-hackers; Ashesh Vashi <[email protected]>; +Cc: Akshay Joshi <[email protected]>; Dave Page <[email protected]> Hi, Kindly hold on with the patch. Few more changes required per review by @Ashesh Vashi <[email protected]> . On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > Attached is the patch for further improvements in the Dark theme colors. > Gray shades and other colors are changed to identify different components > more clearly. Few of the controls were missing the privileges of dark > theme, fixed that. > Few dashboard graph related changes. > As suggested, theme related code changes is removed from config.py and > moved to miscellaneous under a new package - Themes. Thank you @Ashesh > Vashi <[email protected]> for inputs on that. > > Kindly review. > > On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Dave, >> >> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> wrote: >> >>> Hi >>> >>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Dave, >>>> >>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: >>>> >>>>> >>>>> >>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: >>>>> >>>>>> >>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Thanks, patch applied. >>>>>>> >>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Hackers, >>>>>>>> >>>>>>>> Attached is the updated patch with few more changes and corrections. >>>>>>>> Kindly review. >>>>>>>> >>>>>>> >>>>>> I've committed a couple of minor tweaks - one to remove a space, e.g. >>>>>> >>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>> >>>>>> is now: >>>>>> >>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>> >>>>>> And another change to fix the word wrapping in the README which was >>>>>> totally different from the rest of the file. >>>>>> >>>>>> Thanks! >>>>>> >>>>> >>>>> Oh, and do we need all the code in config.py? I really didn't even >>>>> want a config option in there to turn theming on or off (what's the >>>>> point?), let alone 20 new lines. >>>>> >>>> The code is added after the config_local and config_distro is loaded. >>>> So, user won't be able to disable it unless he directly changes the >>>> config.py. >>>> >>> >>> That is clearly wrong and needs to be fixed. config_local and >>> config_distro should be able to override anything in config.py. >>> >>> But... why allow the themes to be updated or disabled at all? It's not >>> like a non-developer can add new ones, and it's not a security issue that >>> an administrator might need to control. In fact, it's arguably an >>> accessibility feature, for those whose eyes (like mine) last the day better >>> with a darker theme. >>> >>> Let's remove it entirely please. I don't see any good reason to have any >>> of that in config.py. >>> >> Intention is not to allow disabling the themes, but it's the feature >> implementation code. I'll move out the code. >> >>> >>> Thanks. >>> >>> >>>> I'll reduce the code a bit. >>>> >>>>> >>>>> -- >>>>> Dave Page >>>>> Blog: http://pgsnake.blogspot.com >>>>> Twitter: @pgsnake >>>>> >>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 11:55 Aditya Toshniwal <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-11 11:55 UTC (permalink / raw) To: pgadmin-hackers; Ashesh Vashi <[email protected]>; +Cc: Akshay Joshi <[email protected]>; Dave Page <[email protected]> Hi Hackers, Attached is the updated patch. Kindly review. On Mon, Nov 11, 2019 at 3:42 PM Aditya Toshniwal < [email protected]> wrote: > Hi, > > Kindly hold on with the patch. Few more changes required per review by @Ashesh > Vashi <[email protected]> . > > On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Hackers, >> >> Attached is the patch for further improvements in the Dark theme colors. >> Gray shades and other colors are changed to identify different components >> more clearly. Few of the controls were missing the privileges of dark >> theme, fixed that. >> Few dashboard graph related changes. >> As suggested, theme related code changes is removed from config.py and >> moved to miscellaneous under a new package - Themes. Thank you @Ashesh >> Vashi <[email protected]> for inputs on that. >> >> Kindly review. >> >> On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Dave, >>> >>> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> wrote: >>> >>>> Hi >>>> >>>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> Hi Dave, >>>>> >>>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: >>>>>> >>>>>>> >>>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Thanks, patch applied. >>>>>>>> >>>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Hackers, >>>>>>>>> >>>>>>>>> Attached is the updated patch with few more changes and >>>>>>>>> corrections. >>>>>>>>> Kindly review. >>>>>>>>> >>>>>>>> >>>>>>> I've committed a couple of minor tweaks - one to remove a space, e.g. >>>>>>> >>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>>> >>>>>>> is now: >>>>>>> >>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>>> >>>>>>> And another change to fix the word wrapping in the README which was >>>>>>> totally different from the rest of the file. >>>>>>> >>>>>>> Thanks! >>>>>>> >>>>>> >>>>>> Oh, and do we need all the code in config.py? I really didn't even >>>>>> want a config option in there to turn theming on or off (what's the >>>>>> point?), let alone 20 new lines. >>>>>> >>>>> The code is added after the config_local and config_distro is loaded. >>>>> So, user won't be able to disable it unless he directly changes the >>>>> config.py. >>>>> >>>> >>>> That is clearly wrong and needs to be fixed. config_local and >>>> config_distro should be able to override anything in config.py. >>>> >>>> But... why allow the themes to be updated or disabled at all? It's not >>>> like a non-developer can add new ones, and it's not a security issue that >>>> an administrator might need to control. In fact, it's arguably an >>>> accessibility feature, for those whose eyes (like mine) last the day better >>>> with a darker theme. >>>> >>>> Let's remove it entirely please. I don't see any good reason to have >>>> any of that in config.py. >>>> >>> Intention is not to allow disabling the themes, but it's the feature >>> implementation code. I'll move out the code. >>> >>>> >>>> Thanks. >>>> >>>> >>>>> I'll reduce the code a bit. >>>>> >>>>>> >>>>>> -- >>>>>> Dave Page >>>>>> Blog: http://pgsnake.blogspot.com >>>>>> Twitter: @pgsnake >>>>>> >>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>> The Enterprise PostgreSQL Company >>>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks and Regards, >>>>> Aditya Toshniwal >>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>> "Don't Complain about Heat, Plant a TREE" >>>>> >>>> >>>> >>>> -- >>>> Dave Page >>>> Blog: http://pgsnake.blogspot.com >>>> Twitter: @pgsnake >>>> >>>> EnterpriseDB UK: http://www.enterprisedb.com >>>> The Enterprise PostgreSQL Company >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [application/octet-stream] RM4348.part2_v2.patch (22.8K, 3-RM4348.part2_v2.patch) download | inline diff: diff --git a/.gitignore b/.gitignore index c1e62bc38..ffa9d8b97 100644 --- a/.gitignore +++ b/.gitignore @@ -36,7 +36,7 @@ runtime/pgAdmin4_resource.rc runtime/release/ runtime/ui_BrowserWindow.h web/config_local.py -web/pgadmin.themes.json +web/pgadmin/misc/themes/pgadmin.themes.json web/geckodriver.log web/regression/test_config.json node_modules/ diff --git a/web/config.py b/web/config.py index f992cc487..d7802d695 100644 --- a/web/config.py +++ b/web/config.py @@ -487,25 +487,6 @@ try: except ImportError: pass -THEMES = { - "standard": { - "disp_name": "Standard", - "cssfile": "pgadmin", - "preview_img": "standard_preview.png" - } -} - -OTHER_THEMES = {} -try: - extra_themes = json.load(open('pgadmin.themes.json')) - OTHER_THEMES.update(extra_themes) -except Exception: - pass - -# Set OTHER_THEMES to None here to disable all other themes - -if OTHER_THEMES is not None: - THEMES.update(OTHER_THEMES) # SUPPORT_SSH_TUNNEL can be override in local config file and if that # setting is False in local config then we should not check the Python version. diff --git a/web/pgadmin/__init__.py b/web/pgadmin/__init__.py index 41ca051f1..8a38c0ad0 100644 --- a/web/pgadmin/__init__.py +++ b/web/pgadmin/__init__.py @@ -711,28 +711,18 @@ def create_app(app_name=None): from flask_compress import Compress Compress(app) + from pgadmin.misc.themes import Themes + Themes(app) + @app.context_processor def inject_blueprint(): """ Inject a reference to the current blueprint, if any. - Also the get_theme_css func. """ - def get_theme_css(): - misc_preference = Preferences.module('misc') - theme = misc_preference.preference('theme').get() - theme_css = config.THEMES['standard']['cssfile'] + '.css' - - if theme not in config.THEMES: - pass - else: - theme_css = config.THEMES[theme]['cssfile'] + '.css' - return theme_css - return { 'current_app': current_app, 'current_blueprint': current_blueprint, - 'get_theme_css': get_theme_css, } @app.errorhandler(Exception) diff --git a/web/pgadmin/dashboard/static/js/charting.js b/web/pgadmin/dashboard/static/js/charting.js index 3b9a4c24a..6b1395507 100644 --- a/web/pgadmin/dashboard/static/js/charting.js +++ b/web/pgadmin/dashboard/static/js/charting.js @@ -32,6 +32,10 @@ export class Chart { }, shadowSize: 0, resolution : 3, + grid: { + color: 'transparent', + tickColor: '#8f8f8f', + }, }; this._dataset = null; diff --git a/web/pgadmin/dashboard/static/scss/_dashboard.scss b/web/pgadmin/dashboard/static/scss/_dashboard.scss index 4b204a3bb..ba51650b8 100644 --- a/web/pgadmin/dashboard/static/scss/_dashboard.scss +++ b/web/pgadmin/dashboard/static/scss/_dashboard.scss @@ -43,10 +43,23 @@ & .flotr-labels { color: $color-fg !important; } - & .flotr-legend { - .flotr-legend-label { + & .flotr-legend { + border: none !important; + padding: 0.25rem 0.5rem; + & .flotr-legend-label { color: $color-fg !important; padding-left: 0.25rem; } - } + + & .flotr-legend-color-box>div { + border: none !important; + &>div { + border: none !important; + } + } + + & .flotr-legend-bg { + border-radius: $border-radius; + } + } } diff --git a/web/pgadmin/misc/__init__.py b/web/pgadmin/misc/__init__.py index 68d4381af..d0bef8e15 100644 --- a/web/pgadmin/misc/__init__.py +++ b/web/pgadmin/misc/__init__.py @@ -14,9 +14,8 @@ from flask import url_for, render_template, Response, request from flask_babelex import gettext from pgadmin.utils import PgAdminModule from pgadmin.utils.csrf import pgCSRFProtect -from pgadmin.utils.preferences import Preferences from pgadmin.utils.session import cleanup_session_files - +from pgadmin.misc.themes import get_all_themes import config MODULE_NAME = 'misc' @@ -68,16 +67,16 @@ class MiscModule(PgAdminModule): theme_options = [] - for theme in config.THEMES: + for theme, theme_data in (get_all_themes()).items(): theme_options.append({ - 'label': config.THEMES[theme]['disp_name'] + 'label': theme_data['disp_name'] .replace('_', ' ') .replace('-', ' ') .title(), 'value': theme, 'preview_src': url_for( 'static', filename='js/generated/img/' + - config.THEMES[theme]['preview_img'] + theme_data['preview_img'] ) }) diff --git a/web/pgadmin/misc/themes/__init__.py b/web/pgadmin/misc/themes/__init__.py new file mode 100644 index 000000000..301f0f665 --- /dev/null +++ b/web/pgadmin/misc/themes/__init__.py @@ -0,0 +1,49 @@ +import os +import json +from pgadmin.utils.preferences import Preferences + + +def get_all_themes(): + theme_file_path = os.path.join( + os.path.dirname(os.path.realpath(__file__)), + 'pgadmin.themes.json' + ) + + all_themes = { + "standard": { + "disp_name": "Standard", + "cssfile": "pgadmin", + "preview_img": "standard_preview.png" + } + } + + try: + all_themes.update(json.load(open(theme_file_path))) + except Exception as _: + pass + + return all_themes + + +def Themes(app): + @app.context_processor + def inject_theme_func(): + def get_theme_css(): + all_themes = get_all_themes() + theme_css = all_themes['standard']['cssfile'] + '.css' + try: + misc_preference = Preferences.module('misc') + theme = misc_preference.preference('theme').get() + if theme not in all_themes: + pass + else: + theme_css = all_themes[theme]['cssfile'] + '.css' + except Exception: + # Let the default theme go if exception occurs + pass + + return theme_css + + return { + 'get_theme_css': get_theme_css, + } diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index 4d9aa9155..77c5d1449 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -2067,7 +2067,7 @@ define([ } let new_value = _.findWhere(this.field.get('options'), {value: evt.params.data.id}); - if(new_value.preview_src) { + if(!_.isUndefined(new_value.preview_src) && new_value.preview_src) { this.$el.find('.preview-img img').attr('src', new_value.preview_src); } }, diff --git a/web/pgadmin/static/scss/_backgrid.overrides.scss b/web/pgadmin/static/scss/_backgrid.overrides.scss index c929ddd45..eac250256 100644 --- a/web/pgadmin/static/scss/_backgrid.overrides.scss +++ b/web/pgadmin/static/scss/_backgrid.overrides.scss @@ -10,6 +10,14 @@ cursor: pointer; } +.backgrid .ascending .sort-caret { + border-bottom-color: $color-fg; +} + +.backgrid .descending .sort-caret { + border-top-color: $color-fg; +} + .backgrid.backgrid-striped tbody { & tr:nth-child(even) { background: $table-bg; @@ -80,8 +88,8 @@ .backgrid thead td, .backgrid thead th{ - background: $color-bg; - background-color: $color-bg !important; + background: $table-bg; + background-color: $table-bg !important; text-align: left; } @@ -203,7 +211,7 @@ span.form-control:disabled { } .subnode-header { - background-color: $color-bg; + background-color: $header-bg; color: $color-fg; border-bottom: $panel-border; } diff --git a/web/pgadmin/static/scss/_pgadmin.style.scss b/web/pgadmin/static/scss/_pgadmin.style.scss index 53aeddf8b..891bb9a0d 100644 --- a/web/pgadmin/static/scss/_pgadmin.style.scss +++ b/web/pgadmin/static/scss/_pgadmin.style.scss @@ -186,7 +186,7 @@ &.pg-prop-btn-group-below { text-align: right; padding: $footer-padding; - background: $color-bg; + background: $header-bg; border-top: $panel-border; } } @@ -353,7 +353,7 @@ display: block; text-align: left; cursor: pointer; - background-color: $color-bg; + background-color: $header-bg; padding: 7px; font-size: inherit; border-bottom: $panel-border; @@ -842,7 +842,7 @@ body { } .nav-tabs { - background-color: $color-bg; + background-color: $header-bg; } .editor-toolbar { @@ -1034,3 +1034,28 @@ textarea { color: $input-color; background-color: $input-bg; } + + +/* Custom scrollbar */ +/* width */ +::-webkit-scrollbar { + width: 0.5rem; + height: 0.5rem; +} + +/* Track */ +::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { + background: transparent; + background-color: transparent; +} + +/* Handle */ +::-webkit-scrollbar-thumb { + background: $scrollbar-color; + border-radius: $border-radius; +} + +/* Handle on hover */ +::-webkit-scrollbar-thumb:hover { + background: $scrollbar-hover-color; +} diff --git a/web/pgadmin/static/scss/_webcabin.pgadmin.scss b/web/pgadmin/static/scss/_webcabin.pgadmin.scss index 91dfb57d2..fca37c979 100644 --- a/web/pgadmin/static/scss/_webcabin.pgadmin.scss +++ b/web/pgadmin/static/scss/_webcabin.pgadmin.scss @@ -24,7 +24,7 @@ .wcFrameTitleBar { height: $title-height; - background-color: $color-bg; + background-color: $header-bg; border-bottom: $panel-border; } @@ -52,7 +52,7 @@ .wcFrameButtonBar { height: $title-height; - background-color: $color-bg; + background-color: inherit; border-bottom: $panel-border; padding: 0rem 0.25rem; @@ -162,7 +162,7 @@ .wcFloating .wcFrameTitleBar { height: $title-height; - background-color: $color-bg; + background-color: $header-bg; border-bottom: $panel-border; } diff --git a/web/pgadmin/static/scss/resources/_default.variables.scss b/web/pgadmin/static/scss/resources/_default.variables.scss index f09b11fb1..580cd483e 100644 --- a/web/pgadmin/static/scss/resources/_default.variables.scss +++ b/web/pgadmin/static/scss/resources/_default.variables.scss @@ -58,6 +58,8 @@ $grid-gutter-width: 15px; $border-radius: 0.25rem; $text-muted: $color-gray-dark !default; +$header-bg: $color-bg !default; + $navbar-bg: $color-primary; $navbar-font-size: 0.925rem; @@ -73,6 +75,8 @@ $navbar-toggler-padding-y: 0.25rem; //no-change $form-group-margin-bottom: 0.5rem; $btn-active-box-shadow: none; +$negative-bg: $color-gray-light !default; + $dropdown-bg: $color-bg; $dropdown-color: $color-fg; $dropdown-link-color: $color-fg; @@ -100,7 +104,7 @@ $card-spacer-y: 0rem; $card-spacer-x: 0rem; $card-border-radius: $border-radius; $card-border-color: $border-color; -$card-cap-bg: $color-bg; +$card-cap-bg: $header-bg; $card-bg: $color-bg; $navbar-padding-y: 0rem; @@ -139,6 +143,11 @@ $input-border-width: $input-btn-border-width; $input-btn-padding-y: .25rem; $input-btn-padding-x: .75rem; +$btn-primary-color: $color-primary-fg; +$btn-success-color: $color-success-fg; +$btn-warning-color: $color-warning-fg; +$btn-danger-color: $color-danger-fg; + $component-active-bg: $color-primary; $input-btn-focus-width: .2rem; $input-btn-focus-color: rgba($component-active-bg, .25); @@ -183,7 +192,7 @@ $splitter-hover-width: 7px; $dropdown-submenu-top: -$dropdown-spacer; -$table-bg: $color-bg; +$table-bg: $color-bg !default; $table-bg-selected: $color-primary-light; $table-hover-border-color: $color-primary; $table-hover-border: $panel-border-width solid $color-primary !important; @@ -205,7 +214,7 @@ $sql-title-bg: #5b6d7c; $sql-title-fg: $white; // Toolbar + editor title heights + title bottom border $sql-editor-panel-top: $title-height + $text-height-calc*16px + $sql-title-padding*2 + $panel-border-width; -$sql-gutters-bg: $color-gray-light; +$sql-gutters-bg: $negative-bg; $sql-history-detail-bg: $color-gray-lighter; $sql-history-success-bg: $color-primary-light; $sql-history-success-fg: $active-color; @@ -224,7 +233,6 @@ $explain-sev-4-bg: #880000 !default; $explain-sev-3-color: #FFFFFF !default; $explain-sev-4-color: #FFFFFF !default; -$negative-bg: $color-gray-light !default; $dialog-box-shadow: 0 0.5rem 3rem $shadow-base-color; $alert-icon-color: $white; @@ -238,6 +246,9 @@ $no-border-radius: 0px !important; $btn-checkbox-padding: $input-btn-padding-y $input-btn-padding-x; +$scrollbar-color: $color-gray !default; +$scrollbar-hover-color: $color-gray-dark !default; + $security-text-color: $white; $security-btn-color: #038bba; diff --git a/web/pgadmin/static/scss/resources/_theme.variables.scss.sample b/web/pgadmin/static/scss/resources/_theme.variables.scss.sample index 30bc06060..b35d53805 100644 --- a/web/pgadmin/static/scss/resources/_theme.variables.scss.sample +++ b/web/pgadmin/static/scss/resources/_theme.variables.scss.sample @@ -49,6 +49,10 @@ $popover-body-color: $color-fg; $active-color: $color-primary; +$header-bg: $color-gray-lighter; + +$table-bg: $color-gray-lighter; + $color-editor-fg: $color-fg; $color-editor-keyword: #908; $color-editor-number: #964; @@ -70,5 +74,9 @@ $explain-sev-4-color: #FFFFFF; $negative-bg: $color-gray-light; +/* Works only with chromium browsers */ +$scrollbar-color: $color-gray-lighter!default; +$scrollbar-hover-color: #666666 !default; + $loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%23326690;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; $loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%23222222;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; diff --git a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss index defd56a9a..3d046235b 100644 --- a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss +++ b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss @@ -1,23 +1,23 @@ $white: #fff; $black: #000; -$color-bg: #222; +$color-bg: #212121; $color-fg: #ddd; -$color-primary: #40617d; -$color-primary-fg: $white; +$color-primary: #234d6e; +$color-primary-fg: $color-fg; $color-primary-light: #536270; $color-primary-light-fg: $color-primary-fg; $color-primary-dark: #15354f; -$color-secondary: #424242; +$color-secondary: #6b6b6b; -$color-danger: #ff5370; +$color-danger: #da6758; $color-danger-fg: $white; $color-danger-light: #914649; -$color-danger-lighter: #8f8282; +$color-danger-lighter: #212121; -$color-success: #6baa7f; +$color-success: #1a522b; $color-success-fg: $black; $color-success-light: #5a7863; @@ -25,21 +25,18 @@ $color-warning: #eea236; $color-warning-fg: $black; $color-warning-light: #fce5c5; -/* For dark theme - colors are in reverse order - * gray-dark is lighter then gray-light - */ -$color-gray-dark: #595959; -$color-gray: #424242; +$color-gray-dark: #212121; +$color-gray: #2e2e2e; $color-gray-light: #303030; -$color-gray-lighter: #212121; +$color-gray-lighter: #424242; $color-brand: $white; -$border-color: $color-gray; -$shadow-base-color: $color-gray-lighter; +$border-color: #4a4a4a; +$shadow-base-color: #111111; $text-muted: #9d9fa1; -$input-bg: $color-gray-lighter; +$input-bg: $color-gray-light; $input-color: $color-fg; $input-disabled-bg: $color-bg; @@ -48,16 +45,20 @@ $popover-body-color: $color-fg; $active-color: $color-fg; -$color-editor-fg: #9cdcfe; -$color-editor-keyword: #c58680; -$color-editor-number: #81bb67; -$color-editor-string: #dcdcaa; -$color-editor-variable: #9cdcfe; -$color-editor-variable-2: #9cdcfe; -$color-editor-builtin: #dcdcaa; -$color-editor-comment: #81bb67; -$color-editor-bracket: #d4d4d4; -$color-editor-operator: #d4d4d4; +$header-bg: $color-gray-lighter; + +$table-bg: $color-gray-lighter; + +$color-editor-fg: #7dc9f1; +$color-editor-keyword: #db7c74; +$color-editor-number: #7fcc5c; +$color-editor-string: #e4e487; +$color-editor-variable: #7dc9f1; +$color-editor-variable-2: #7dc9f1; +$color-editor-builtin: #e4e487; +$color-editor-comment: #7fcc5c; +$color-editor-bracket: #d6aaaa; +$color-editor-operator: #d6aaaa; $color-editor-foldmarker: #0000FF !default; $color-editor-activeline: #50B0F0 !default; @@ -69,5 +70,8 @@ $explain-sev-4-color: $color-fg; $negative-bg: $color-bg; +$scrollbar-color: $color-gray-lighter!default; +$scrollbar-hover-color: #666666 !default; + $loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%2340617d;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; $loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%2340617d;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/index.html b/web/pgadmin/tools/datagrid/templates/datagrid/index.html index 30e87c558..9c05e641b 100644 --- a/web/pgadmin/tools/datagrid/templates/datagrid/index.html +++ b/web/pgadmin/tools/datagrid/templates/datagrid/index.html @@ -220,7 +220,7 @@ </ul> </div> <div class="btn-group mr-1" role="group" aria-label=""> - <select id="btn-rows-limit" class="limit" disabled + <select id="btn-rows-limit" class="limit form-control form-control-sm" disabled title="" accesskey="" tabindex="0"> diff --git a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css index 62c0f2c56..031a87444 100644 --- a/web/pgadmin/tools/sqleditor/static/css/sqleditor.css +++ b/web/pgadmin/tools/sqleditor/static/css/sqleditor.css @@ -252,6 +252,7 @@ input.editor-checkbox:focus { .connection_status { font-size: 1rem; + width: 40px; } .icon-query-tool-connected:before { diff --git a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss index 0ecfc3894..74a2d8037 100644 --- a/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss +++ b/web/pgadmin/tools/sqleditor/static/scss/_sqleditor.scss @@ -18,6 +18,10 @@ z-index: 0; } +.connection_status { + background-color: $color-primary; + color: $color-primary-fg; +} .editor-title { padding: $sql-title-padding; @@ -39,10 +43,6 @@ background: $color-primary-light; } -.connection_status { - width: 40px; -} - .ajs-body .warn-icon { color: $color-warning; @@ -57,16 +57,6 @@ border-bottom: $panel-border; } -.connection_status .fa-clock-o, -.connection_status .fa-hourglass-half { - color: $color-warning; -} - -.connection_status .fa-exclamation-circle, -.connection_status .fa-exclamation-triangle { - color: $color-danger; -} - li.CodeMirror-hint-active { background: $color-primary-light; color: $color-primary-fg; @@ -330,14 +320,6 @@ div.strikeout:after { } } -.icon-query-tool-connected { - color: $color-primary; -} - -.icon-query-tool-disconnected { - color: $color-danger; -} - .connection_status .obtaining-conn { background-image: $loader-icon-small !important; background-position: center center; diff --git a/web/webpack.config.js b/web/webpack.config.js index 2acaacb55..a2952433a 100644 --- a/web/webpack.config.js +++ b/web/webpack.config.js @@ -35,6 +35,7 @@ const devToolVal = PRODUCTION ? false : 'eval'; const analyzerMode = process.env.ANALYZE=='true' ? 'static' : 'disabled'; const outputPath = __dirname + '/pgadmin/static/js/generated'; +const pgadminThemesJson = __dirname + '/pgadmin/misc/themes/pgadmin.themes.json'; // Expose libraries in app context so they need not to // require('libname') when used in a module @@ -84,7 +85,6 @@ const bundleAnalyzer = new BundleAnalyzerPlugin({ reportFilename: 'analyze_report.html', }); -let pgadminThemesJson = 'pgadmin.themes.json'; const copyFiles = new CopyPlugin([ pgadminThemesJson, { ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 13:22 Akshay Joshi <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Akshay Joshi @ 2019-11-11 13:22 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: pgadmin-hackers; Ashesh Vashi <[email protected]>; Dave Page <[email protected]> Thanks, patch applied. As per discussion with Aditya, we have removed customized scroll bars for the time being as they are not clearly visible with some of the components. On Mon, Nov 11, 2019 at 5:25 PM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > Attached is the updated patch. > Kindly review. > > On Mon, Nov 11, 2019 at 3:42 PM Aditya Toshniwal < > [email protected]> wrote: > >> Hi, >> >> Kindly hold on with the patch. Few more changes required per review by @Ashesh >> Vashi <[email protected]> . >> >> On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Hackers, >>> >>> Attached is the patch for further improvements in the Dark theme colors. >>> Gray shades and other colors are changed to identify different >>> components more clearly. Few of the controls were missing the privileges of >>> dark theme, fixed that. >>> Few dashboard graph related changes. >>> As suggested, theme related code changes is removed from config.py and >>> moved to miscellaneous under a new package - Themes. Thank you @Ashesh >>> Vashi <[email protected]> for inputs on that. >>> >>> Kindly review. >>> >>> On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Dave, >>>> >>>> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> wrote: >>>> >>>>> Hi >>>>> >>>>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Dave, >>>>>> >>>>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: >>>>>>> >>>>>>>> >>>>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Thanks, patch applied. >>>>>>>>> >>>>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi Hackers, >>>>>>>>>> >>>>>>>>>> Attached is the updated patch with few more changes and >>>>>>>>>> corrections. >>>>>>>>>> Kindly review. >>>>>>>>>> >>>>>>>>> >>>>>>>> I've committed a couple of minor tweaks - one to remove a space, >>>>>>>> e.g. >>>>>>>> >>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>>>> >>>>>>>> is now: >>>>>>>> >>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>>>> >>>>>>>> And another change to fix the word wrapping in the README which was >>>>>>>> totally different from the rest of the file. >>>>>>>> >>>>>>>> Thanks! >>>>>>>> >>>>>>> >>>>>>> Oh, and do we need all the code in config.py? I really didn't even >>>>>>> want a config option in there to turn theming on or off (what's the >>>>>>> point?), let alone 20 new lines. >>>>>>> >>>>>> The code is added after the config_local and config_distro is loaded. >>>>>> So, user won't be able to disable it unless he directly changes the >>>>>> config.py. >>>>>> >>>>> >>>>> That is clearly wrong and needs to be fixed. config_local and >>>>> config_distro should be able to override anything in config.py. >>>>> >>>>> But... why allow the themes to be updated or disabled at all? It's not >>>>> like a non-developer can add new ones, and it's not a security issue that >>>>> an administrator might need to control. In fact, it's arguably an >>>>> accessibility feature, for those whose eyes (like mine) last the day better >>>>> with a darker theme. >>>>> >>>>> Let's remove it entirely please. I don't see any good reason to have >>>>> any of that in config.py. >>>>> >>>> Intention is not to allow disabling the themes, but it's the feature >>>> implementation code. I'll move out the code. >>>> >>>>> >>>>> Thanks. >>>>> >>>>> >>>>>> I'll reduce the code a bit. >>>>>> >>>>>>> >>>>>>> -- >>>>>>> Dave Page >>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>> Twitter: @pgsnake >>>>>>> >>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>> The Enterprise PostgreSQL Company >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks and Regards, >>>>>> Aditya Toshniwal >>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>> >>>>> >>>>> >>>>> -- >>>>> Dave Page >>>>> Blog: http://pgsnake.blogspot.com >>>>> Twitter: @pgsnake >>>>> >>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 15:03 Dave Page <[email protected]> parent: Akshay Joshi <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Dave Page @ 2019-11-11 15:03 UTC (permalink / raw) To: Akshay Joshi <[email protected]>; +Cc: Aditya Toshniwal <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi That's looking a lot better. I see a couple of issues (screenshots attached): - The combo box on the query tool toolbar isn't dark. - The tagline on the dashboard logo isn't readable. A couple of other thoughts: - The guide lines on the graphs are still too bright. Let's make them the same colour as the graph boarders please. - The header bar foreground colour and the dividing white line below it seem quite harsh. Are they pure white? They should be softened a little bit. Thanks! On Mon, Nov 11, 2019 at 1:22 PM Akshay Joshi <[email protected]> wrote: > Thanks, patch applied. > > As per discussion with Aditya, we have removed customized scroll bars for > the time being as they are not clearly visible with some of the components. > > On Mon, Nov 11, 2019 at 5:25 PM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Hackers, >> >> Attached is the updated patch. >> Kindly review. >> >> On Mon, Nov 11, 2019 at 3:42 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi, >>> >>> Kindly hold on with the patch. Few more changes required per review by @Ashesh >>> Vashi <[email protected]> . >>> >>> On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Hackers, >>>> >>>> Attached is the patch for further improvements in the Dark theme colors. >>>> Gray shades and other colors are changed to identify different >>>> components more clearly. Few of the controls were missing the privileges of >>>> dark theme, fixed that. >>>> Few dashboard graph related changes. >>>> As suggested, theme related code changes is removed from config.py and >>>> moved to miscellaneous under a new package - Themes. Thank you @Ashesh >>>> Vashi <[email protected]> for inputs on that. >>>> >>>> Kindly review. >>>> >>>> On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> Hi Dave, >>>>> >>>>> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> wrote: >>>>> >>>>>> Hi >>>>>> >>>>>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Dave, >>>>>>> >>>>>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Thanks, patch applied. >>>>>>>>>> >>>>>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Hackers, >>>>>>>>>>> >>>>>>>>>>> Attached is the updated patch with few more changes and >>>>>>>>>>> corrections. >>>>>>>>>>> Kindly review. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> I've committed a couple of minor tweaks - one to remove a space, >>>>>>>>> e.g. >>>>>>>>> >>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>>>>> >>>>>>>>> is now: >>>>>>>>> >>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>>>>> >>>>>>>>> And another change to fix the word wrapping in the README which >>>>>>>>> was totally different from the rest of the file. >>>>>>>>> >>>>>>>>> Thanks! >>>>>>>>> >>>>>>>> >>>>>>>> Oh, and do we need all the code in config.py? I really didn't even >>>>>>>> want a config option in there to turn theming on or off (what's the >>>>>>>> point?), let alone 20 new lines. >>>>>>>> >>>>>>> The code is added after the config_local and config_distro is >>>>>>> loaded. So, user won't be able to disable it unless he directly changes the >>>>>>> config.py. >>>>>>> >>>>>> >>>>>> That is clearly wrong and needs to be fixed. config_local and >>>>>> config_distro should be able to override anything in config.py. >>>>>> >>>>>> But... why allow the themes to be updated or disabled at all? It's >>>>>> not like a non-developer can add new ones, and it's not a security issue >>>>>> that an administrator might need to control. In fact, it's arguably an >>>>>> accessibility feature, for those whose eyes (like mine) last the day better >>>>>> with a darker theme. >>>>>> >>>>>> Let's remove it entirely please. I don't see any good reason to have >>>>>> any of that in config.py. >>>>>> >>>>> Intention is not to allow disabling the themes, but it's the feature >>>>> implementation code. I'll move out the code. >>>>> >>>>>> >>>>>> Thanks. >>>>>> >>>>>> >>>>>>> I'll reduce the code a bit. >>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Dave Page >>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>> Twitter: @pgsnake >>>>>>>> >>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>> The Enterprise PostgreSQL Company >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Thanks and Regards, >>>>>>> Aditya Toshniwal >>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dave Page >>>>>> Blog: http://pgsnake.blogspot.com >>>>>> Twitter: @pgsnake >>>>>> >>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>> The Enterprise PostgreSQL Company >>>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks and Regards, >>>>> Aditya Toshniwal >>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>> "Don't Complain about Heat, Plant a TREE" >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > > *Sr. Software Architect* > *EnterpriseDB Software India Private Limited* > *Mobile: +91 976-788-8246* > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company Attachments: [image/png] Screenshot 2019-11-11 at 14.59.43.png (5.1K, 3-Screenshot%202019-11-11%20at%2014.59.43.png) download | view image [image/png] Screenshot 2019-11-11 at 14.58.33.png (31.8K, 4-Screenshot%202019-11-11%20at%2014.58.33.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 15:11 Aditya Toshniwal <[email protected]> parent: Dave Page <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-11 15:11 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi Dave, On Mon, Nov 11, 2019, 20:33 Dave Page <[email protected]> wrote: > Hi > > That's looking a lot better. I see a couple of issues (screenshots > attached): > > - The combo box on the query tool toolbar isn't dark. > I'm not sure why you are not able to see it but I've changed it. Try a python restart. > - The tagline on the dashboard logo isn't readable. > Yes because that's an SVG image. We may need to make it completely from HTML. > > A couple of other thoughts: > > - The guide lines on the graphs are still too bright. Let's make them the > same colour as the graph boarders please. > There is technical limitation here. To change those grid lines based on theme we need to import variables in JS. I didn't find a way to dynamically load SASS variables based on theme. So I chose color which would work for both dark and black backgrounds and is hard coded in JS. > > - The header bar foreground colour and the dividing white line below it > seem quite harsh. Are they pure white? They should be softened a little bit. > I'll check the color, but AFAIR it's not pure white. > > Thanks! > > On Mon, Nov 11, 2019 at 1:22 PM Akshay Joshi < > [email protected]> wrote: > >> Thanks, patch applied. >> >> As per discussion with Aditya, we have removed customized scroll bars for >> the time being as they are not clearly visible with some of the components. >> >> On Mon, Nov 11, 2019 at 5:25 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Hackers, >>> >>> Attached is the updated patch. >>> Kindly review. >>> >>> On Mon, Nov 11, 2019 at 3:42 PM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi, >>>> >>>> Kindly hold on with the patch. Few more changes required per review by @Ashesh >>>> Vashi <[email protected]> . >>>> >>>> On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> Hi Hackers, >>>>> >>>>> Attached is the patch for further improvements in the Dark theme >>>>> colors. >>>>> Gray shades and other colors are changed to identify different >>>>> components more clearly. Few of the controls were missing the privileges of >>>>> dark theme, fixed that. >>>>> Few dashboard graph related changes. >>>>> As suggested, theme related code changes is removed from config.py and >>>>> moved to miscellaneous under a new package - Themes. Thank you @Ashesh >>>>> Vashi <[email protected]> for inputs on that. >>>>> >>>>> Kindly review. >>>>> >>>>> On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Dave, >>>>>> >>>>>> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> wrote: >>>>>> >>>>>>> Hi >>>>>>> >>>>>>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Dave, >>>>>>>> >>>>>>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Thanks, patch applied. >>>>>>>>>>> >>>>>>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Hackers, >>>>>>>>>>>> >>>>>>>>>>>> Attached is the updated patch with few more changes and >>>>>>>>>>>> corrections. >>>>>>>>>>>> Kindly review. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> I've committed a couple of minor tweaks - one to remove a space, >>>>>>>>>> e.g. >>>>>>>>>> >>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>>>>>> >>>>>>>>>> is now: >>>>>>>>>> >>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>>>>>> >>>>>>>>>> And another change to fix the word wrapping in the README which >>>>>>>>>> was totally different from the rest of the file. >>>>>>>>>> >>>>>>>>>> Thanks! >>>>>>>>>> >>>>>>>>> >>>>>>>>> Oh, and do we need all the code in config.py? I really didn't even >>>>>>>>> want a config option in there to turn theming on or off (what's the >>>>>>>>> point?), let alone 20 new lines. >>>>>>>>> >>>>>>>> The code is added after the config_local and config_distro is >>>>>>>> loaded. So, user won't be able to disable it unless he directly changes the >>>>>>>> config.py. >>>>>>>> >>>>>>> >>>>>>> That is clearly wrong and needs to be fixed. config_local and >>>>>>> config_distro should be able to override anything in config.py. >>>>>>> >>>>>>> But... why allow the themes to be updated or disabled at all? It's >>>>>>> not like a non-developer can add new ones, and it's not a security issue >>>>>>> that an administrator might need to control. In fact, it's arguably an >>>>>>> accessibility feature, for those whose eyes (like mine) last the day better >>>>>>> with a darker theme. >>>>>>> >>>>>>> Let's remove it entirely please. I don't see any good reason to have >>>>>>> any of that in config.py. >>>>>>> >>>>>> Intention is not to allow disabling the themes, but it's the feature >>>>>> implementation code. I'll move out the code. >>>>>> >>>>>>> >>>>>>> Thanks. >>>>>>> >>>>>>> >>>>>>>> I'll reduce the code a bit. >>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Dave Page >>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>> Twitter: @pgsnake >>>>>>>>> >>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Thanks and Regards, >>>>>>>> Aditya Toshniwal >>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Dave Page >>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>> Twitter: @pgsnake >>>>>>> >>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>> The Enterprise PostgreSQL Company >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks and Regards, >>>>>> Aditya Toshniwal >>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks and Regards, >>>>> Aditya Toshniwal >>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>> "Don't Complain about Heat, Plant a TREE" >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> *Thanks & Regards* >> *Akshay Joshi* >> >> *Sr. Software Architect* >> *EnterpriseDB Software India Private Limited* >> *Mobile: +91 976-788-8246* >> > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-11 15:42 Dave Page <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Dave Page @ 2019-11-11 15:42 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi On Mon, Nov 11, 2019 at 3:11 PM Aditya Toshniwal < [email protected]> wrote: > Hi Dave, > > On Mon, Nov 11, 2019, 20:33 Dave Page <[email protected]> wrote: > >> Hi >> >> That's looking a lot better. I see a couple of issues (screenshots >> attached): >> >> - The combo box on the query tool toolbar isn't dark. >> > I'm not sure why you are not able to see it but I've changed it. Try a > python restart. > I've done a make clean/make bundle, restarted Python, and done a hard reload in the browser to no joy. FYI, I'm running in Chrome 78.0.3904.70 on macOS. > - The tagline on the dashboard logo isn't readable. >> > Yes because that's an SVG image. We may need to make it completely from > HTML. > Can we have an alternate image? Maybe if it's served through a flask route and we look for /logo.png?t=dark or something like that to select the image version? > >> A couple of other thoughts: >> >> - The guide lines on the graphs are still too bright. Let's make them the >> same colour as the graph boarders please. >> > There is technical limitation here. To change those grid lines based on > theme we need to import variables in JS. I didn't find a way to dynamically > load SASS variables based on theme. > So I chose color which would work for both dark and black backgrounds and > is hard coded in JS. > Urgh, OK. We'll need to think about that then. > >> - The header bar foreground colour and the dividing white line below it >> seem quite harsh. Are they pure white? They should be softened a little bit. >> > I'll check the color, but AFAIR it's not pure white. > OK, thanks! > >> Thanks! >> >> On Mon, Nov 11, 2019 at 1:22 PM Akshay Joshi < >> [email protected]> wrote: >> >>> Thanks, patch applied. >>> >>> As per discussion with Aditya, we have removed customized scroll bars >>> for the time being as they are not clearly visible with some of the >>> components. >>> >>> On Mon, Nov 11, 2019 at 5:25 PM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Hackers, >>>> >>>> Attached is the updated patch. >>>> Kindly review. >>>> >>>> On Mon, Nov 11, 2019 at 3:42 PM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> Hi, >>>>> >>>>> Kindly hold on with the patch. Few more changes required per review by @Ashesh >>>>> Vashi <[email protected]> . >>>>> >>>>> On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Hackers, >>>>>> >>>>>> Attached is the patch for further improvements in the Dark theme >>>>>> colors. >>>>>> Gray shades and other colors are changed to identify different >>>>>> components more clearly. Few of the controls were missing the privileges of >>>>>> dark theme, fixed that. >>>>>> Few dashboard graph related changes. >>>>>> As suggested, theme related code changes is removed from config.py >>>>>> and moved to miscellaneous under a new package - Themes. Thank you @Ashesh >>>>>> Vashi <[email protected]> for inputs on that. >>>>>> >>>>>> Kindly review. >>>>>> >>>>>> On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Dave, >>>>>>> >>>>>>> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> wrote: >>>>>>> >>>>>>>> Hi >>>>>>>> >>>>>>>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Dave, >>>>>>>>> >>>>>>>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Thanks, patch applied. >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi Hackers, >>>>>>>>>>>>> >>>>>>>>>>>>> Attached is the updated patch with few more changes and >>>>>>>>>>>>> corrections. >>>>>>>>>>>>> Kindly review. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> I've committed a couple of minor tweaks - one to remove a space, >>>>>>>>>>> e.g. >>>>>>>>>>> >>>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>>>>>>> >>>>>>>>>>> is now: >>>>>>>>>>> >>>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>>>>>>> >>>>>>>>>>> And another change to fix the word wrapping in the README which >>>>>>>>>>> was totally different from the rest of the file. >>>>>>>>>>> >>>>>>>>>>> Thanks! >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Oh, and do we need all the code in config.py? I really didn't >>>>>>>>>> even want a config option in there to turn theming on or off (what's the >>>>>>>>>> point?), let alone 20 new lines. >>>>>>>>>> >>>>>>>>> The code is added after the config_local and config_distro is >>>>>>>>> loaded. So, user won't be able to disable it unless he directly changes the >>>>>>>>> config.py. >>>>>>>>> >>>>>>>> >>>>>>>> That is clearly wrong and needs to be fixed. config_local and >>>>>>>> config_distro should be able to override anything in config.py. >>>>>>>> >>>>>>>> But... why allow the themes to be updated or disabled at all? It's >>>>>>>> not like a non-developer can add new ones, and it's not a security issue >>>>>>>> that an administrator might need to control. In fact, it's arguably an >>>>>>>> accessibility feature, for those whose eyes (like mine) last the day better >>>>>>>> with a darker theme. >>>>>>>> >>>>>>>> Let's remove it entirely please. I don't see any good reason to >>>>>>>> have any of that in config.py. >>>>>>>> >>>>>>> Intention is not to allow disabling the themes, but it's the feature >>>>>>> implementation code. I'll move out the code. >>>>>>> >>>>>>>> >>>>>>>> Thanks. >>>>>>>> >>>>>>>> >>>>>>>>> I'll reduce the code a bit. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Dave Page >>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>> Twitter: @pgsnake >>>>>>>>>> >>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Thanks and Regards, >>>>>>>>> Aditya Toshniwal >>>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Dave Page >>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>> Twitter: @pgsnake >>>>>>>> >>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>> The Enterprise PostgreSQL Company >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Thanks and Regards, >>>>>>> Aditya Toshniwal >>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks and Regards, >>>>>> Aditya Toshniwal >>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks and Regards, >>>>> Aditya Toshniwal >>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>> "Don't Complain about Heat, Plant a TREE" >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> *Thanks & Regards* >>> *Akshay Joshi* >>> >>> *Sr. Software Architect* >>> *EnterpriseDB Software India Private Limited* >>> *Mobile: +91 976-788-8246* >>> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 04:59 Aditya Toshniwal <[email protected]> parent: Dave Page <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-12 04:59 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi Hackers, Attached is a patch to address the review comments. On Mon, Nov 11, 2019 at 9:13 PM Dave Page <[email protected]> wrote: > Hi > > On Mon, Nov 11, 2019 at 3:11 PM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Dave, >> >> On Mon, Nov 11, 2019, 20:33 Dave Page <[email protected]> wrote: >> >>> Hi >>> >>> That's looking a lot better. I see a couple of issues (screenshots >>> attached): >>> >>> - The combo box on the query tool toolbar isn't dark. >>> >> I'm not sure why you are not able to see it but I've changed it. Try a >> python restart. >> > > I've done a make clean/make bundle, restarted Python, and done a hard > reload in the browser to no joy. FYI, I'm running in Chrome 78.0.3904.70 on > macOS. > [image: Screenshot 2019-11-12 at 10.03.59.png] I'm not seeing it. Pulled latest, bundled and restarted. :/ > >> - The tagline on the dashboard logo isn't readable. >>> >> Yes because that's an SVG image. We may need to make it completely from >> HTML. >> > > Can we have an alternate image? Maybe if it's served through a flask route > and we look for /logo.png?t=dark or something like that to select the image > version? > Or better embed the SVG so that we can change colors using CSS. Patch attached. You can tweak $color-brand to change the welcome dashboards blue color. > > >> >>> A couple of other thoughts: >>> >>> - The guide lines on the graphs are still too bright. Let's make them >>> the same colour as the graph boarders please. >>> >> There is technical limitation here. To change those grid lines based on >> theme we need to import variables in JS. I didn't find a way to dynamically >> load SASS variables based on theme. >> So I chose color which would work for both dark and black backgrounds and >> is hard coded in JS. >> > > Urgh, OK. We'll need to think about that then. > > >> >>> - The header bar foreground colour and the dividing white line below it >>> seem quite harsh. Are they pure white? They should be softened a little bit. >>> >> I'll check the color, but AFAIR it's not pure white. >> > > OK, thanks! > I didn't find anyone using white color. Could you please share a screenshot ? I've changed the foreground from #ddd to #d4d4d4 to soften a bit. > > >> >>> Thanks! >>> >>> On Mon, Nov 11, 2019 at 1:22 PM Akshay Joshi < >>> [email protected]> wrote: >>> >>>> Thanks, patch applied. >>>> >>>> As per discussion with Aditya, we have removed customized scroll bars >>>> for the time being as they are not clearly visible with some of the >>>> components. >>>> >>>> On Mon, Nov 11, 2019 at 5:25 PM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> Hi Hackers, >>>>> >>>>> Attached is the updated patch. >>>>> Kindly review. >>>>> >>>>> On Mon, Nov 11, 2019 at 3:42 PM Aditya Toshniwal < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Kindly hold on with the patch. Few more changes required per review >>>>>> by @Ashesh Vashi <[email protected]> . >>>>>> >>>>>> On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Hackers, >>>>>>> >>>>>>> Attached is the patch for further improvements in the Dark theme >>>>>>> colors. >>>>>>> Gray shades and other colors are changed to identify different >>>>>>> components more clearly. Few of the controls were missing the privileges of >>>>>>> dark theme, fixed that. >>>>>>> Few dashboard graph related changes. >>>>>>> As suggested, theme related code changes is removed from config.py >>>>>>> and moved to miscellaneous under a new package - Themes. Thank you @Ashesh >>>>>>> Vashi <[email protected]> for inputs on that. >>>>>>> >>>>>>> Kindly review. >>>>>>> >>>>>>> On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Dave, >>>>>>>> >>>>>>>> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi >>>>>>>>> >>>>>>>>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi Dave, >>>>>>>>>> >>>>>>>>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Thanks, patch applied. >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Hackers, >>>>>>>>>>>>>> >>>>>>>>>>>>>> Attached is the updated patch with few more changes and >>>>>>>>>>>>>> corrections. >>>>>>>>>>>>>> Kindly review. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> I've committed a couple of minor tweaks - one to remove a >>>>>>>>>>>> space, e.g. >>>>>>>>>>>> >>>>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>>>>>>>> >>>>>>>>>>>> is now: >>>>>>>>>>>> >>>>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>>>>>>>> >>>>>>>>>>>> And another change to fix the word wrapping in the README which >>>>>>>>>>>> was totally different from the rest of the file. >>>>>>>>>>>> >>>>>>>>>>>> Thanks! >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Oh, and do we need all the code in config.py? I really didn't >>>>>>>>>>> even want a config option in there to turn theming on or off (what's the >>>>>>>>>>> point?), let alone 20 new lines. >>>>>>>>>>> >>>>>>>>>> The code is added after the config_local and config_distro is >>>>>>>>>> loaded. So, user won't be able to disable it unless he directly changes the >>>>>>>>>> config.py. >>>>>>>>>> >>>>>>>>> >>>>>>>>> That is clearly wrong and needs to be fixed. config_local and >>>>>>>>> config_distro should be able to override anything in config.py. >>>>>>>>> >>>>>>>>> But... why allow the themes to be updated or disabled at all? It's >>>>>>>>> not like a non-developer can add new ones, and it's not a security issue >>>>>>>>> that an administrator might need to control. In fact, it's arguably an >>>>>>>>> accessibility feature, for those whose eyes (like mine) last the day better >>>>>>>>> with a darker theme. >>>>>>>>> >>>>>>>>> Let's remove it entirely please. I don't see any good reason to >>>>>>>>> have any of that in config.py. >>>>>>>>> >>>>>>>> Intention is not to allow disabling the themes, but it's the >>>>>>>> feature implementation code. I'll move out the code. >>>>>>>> >>>>>>>>> >>>>>>>>> Thanks. >>>>>>>>> >>>>>>>>> >>>>>>>>>> I'll reduce the code a bit. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Dave Page >>>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>>> Twitter: @pgsnake >>>>>>>>>>> >>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Thanks and Regards, >>>>>>>>>> Aditya Toshniwal >>>>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Dave Page >>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>> Twitter: @pgsnake >>>>>>>>> >>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Thanks and Regards, >>>>>>>> Aditya Toshniwal >>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Thanks and Regards, >>>>>>> Aditya Toshniwal >>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks and Regards, >>>>>> Aditya Toshniwal >>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks and Regards, >>>>> Aditya Toshniwal >>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>> "Don't Complain about Heat, Plant a TREE" >>>>> >>>> >>>> >>>> -- >>>> *Thanks & Regards* >>>> *Akshay Joshi* >>>> >>>> *Sr. Software Architect* >>>> *EnterpriseDB Software India Private Limited* >>>> *Mobile: +91 976-788-8246* >>>> >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [image/png] Screenshot 2019-11-12 at 10.03.59.png (72.3K, 3-Screenshot%202019-11-12%20at%2010.03.59.png) download | view image [application/octet-stream] RM4348.part3.patch (22.4K, 4-RM4348.part3.patch) download | inline diff: diff --git a/web/pgadmin/dashboard/static/scss/_dashboard.scss b/web/pgadmin/dashboard/static/scss/_dashboard.scss index ba51650b8..9f94b5e70 100644 --- a/web/pgadmin/dashboard/static/scss/_dashboard.scss +++ b/web/pgadmin/dashboard/static/scss/_dashboard.scss @@ -1,5 +1,5 @@ .dashboard-icon { - color: $color-primary; + color: $color-brand; } .dashboard-container { @@ -63,3 +63,16 @@ } } } + +.welcome-logo { + width: 400px; + & .app-name { + fill: $color-brand; + } + & .app-name-underline { + stroke: $color-fg; + } + & .app-tagline { + fill: $color-fg; + } +} diff --git a/web/pgadmin/dashboard/templates/dashboard/welcome_dashboard.html b/web/pgadmin/dashboard/templates/dashboard/welcome_dashboard.html index 35ebba07e..0c9a82749 100644 --- a/web/pgadmin/dashboard/templates/dashboard/welcome_dashboard.html +++ b/web/pgadmin/dashboard/templates/dashboard/welcome_dashboard.html @@ -5,9 +5,65 @@ <div class="card"> <div class="card-header">{{ _('Welcome') }}</div> <div class="card-body p-2"> - <img src="{{ url_for('dashboard.static', filename='img/welcome_logo.svg') }}" - alt="{{ config.APP_NAME }} {{ _('logo') }}" - width="400" height="100"> + <div class="welcome-logo"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 130"> + <defs> + <style>.cls-1{stroke:#000;stroke-width:10.19px;}.cls-2{fill:#336791;}.cls-3,.cls-4,.cls-9{fill:none;}.cls-3,.cls-4,.cls-5,.cls-6{stroke:#fff;}.cls-3,.cls-4{stroke-linecap:round;stroke-width:3.4px;}.cls-3{stroke-linejoin:round;}.cls-4{stroke-linejoin:bevel;}.cls-5,.cls-6{fill:#fff;}.cls-5{stroke-width:1.13px;}.cls-6{stroke-width:0.57px;}.cls-7{fill:#2775b6;}.cls-8{fill:#333;}.cls-9{stroke:#333;stroke-width:3px;}</style> + </defs> + <title>pgAdmin_PostgreSQL</title> + <g id="Layer_1" data-name="Layer 1"> + <g id="Layer_3"> + <path class="cls-1" d="M95.59,93.65c.77-6.44.54-7.38,5.33-6.34l1.21.11a27.6,27.6,0,0,0,11.34-1.91c6.09-2.83,9.71-7.55,3.7-6.31-13.71,2.83-14.65-1.81-14.65-1.81C117,55.91,123,28.64,117.82,22,103.57,3.76,78.91,12.37,78.5,12.6l-.13,0a48.65,48.65,0,0,0-9.15-.95C63,11.57,58.31,13.29,54.74,16c0,0-44-18.12-41.95,22.8.44,8.7,12.48,65.86,26.84,48.6C44.88,81.08,50,75.75,50,75.75A13.39,13.39,0,0,0,58.65,78l.25-.21a9,9,0,0,0,.1,2.46c-3.7,4.13-2.62,4.86-10,6.38s-3.09,4.29-.22,5c3.48.87,11.53,2.1,17-5.52l-.22.87c1.46,1.16,1.36,8.35,1.56,13.48s.55,9.93,1.6,12.75,2.28,10.1,12,8C88.81,119.46,95,117,95.59,93.65" /> + <path class="cls-2" d="M117.17,79.2c-13.71,2.83-14.65-1.81-14.65-1.81C117,55.91,123,28.64,117.82,22,103.57,3.76,78.91,12.37,78.5,12.6l-.13,0a48.65,48.65,0,0,0-9.15-.95C63,11.57,58.31,13.29,54.74,16c0,0-44-18.12-41.95,22.8.44,8.7,12.48,65.86,26.84,48.6C44.88,81.08,50,75.75,50,75.75A13.39,13.39,0,0,0,58.65,78l.25-.21A9.41,9.41,0,0,0,59,80.22c-3.7,4.13-2.61,4.86-10,6.38s-3.08,4.29-.21,5c3.48.87,11.53,2.1,17-5.52l-.22.87c1.45,1.16,2.47,7.56,2.3,13.35s-.28,9.77.86,12.88,2.28,10.1,12,8C88.81,119.46,93,115,93.6,107.42,94,102.07,95,102.87,95,98.08l.75-2.26c.87-7.26.14-9.6,5.15-8.51l1.21.11a27.6,27.6,0,0,0,11.34-1.91c6.09-2.83,9.71-7.55,3.7-6.31Z" /> + <path class="cls-3" d="M66.33,83.36c-.38,13.5.09,27.09,1.41,30.39s4.15,9.73,13.88,7.64c8.12-1.74,11.08-5.11,12.36-12.55.94-5.47,2.77-20.67,3-23.79" /> + <path class="cls-3" d="M54.67,15.7s-44-18-42,22.93c.44,8.7,12.48,65.87,26.84,48.6,5.25-6.32,10-11.27,10-11.27" /> + <path class="cls-3" d="M78.45,12.42c-1.52.47,24.49-9.51,39.28,9.38,5.22,6.67-.83,33.94-15.31,55.42" /> + <path class="cls-4" d="M102.42,77.22s.94,4.64,14.65,1.81c6-1.24,2.4,3.48-3.7,6.31-5,2.32-16.21,2.92-16.39-.29-.47-8.27,5.9-5.76,5.44-7.83-.42-1.87-3.26-3.7-5.15-8.27-1.64-4-22.57-34.58,5.8-30,1-.22-7.4-27-33.95-27.42S43.45,44.14,43.45,44.14" /> + <path class="cls-3" d="M58.9,80.05c-3.7,4.13-2.61,4.86-10,6.38s-3.09,4.29-.22,5c3.48.87,11.53,2.1,17-5.52,1.66-2.32,0-6-2.28-7-1.1-.46-2.57-1-4.46,1.09Z" /> + <path class="cls-3" d="M58.66,80c-.38-2.44.79-5.33,2.05-8.71C62.6,66.19,67,61.11,63.47,45c-2.6-12-20-2.5-20-.87a81.48,81.48,0,0,1-.29,16c-1.41,10.06,6.4,18.57,15.39,17.7" /> + <path class="cls-5" d="M54.51,43.9c-.08.55,1,2,2.45,2.23a2.62,2.62,0,0,0,2.72-1.51c.08-.56-1-1.17-2.44-1.37s-2.65.09-2.73.65Z" /> + <path class="cls-6" d="M98,42.76c.07.56-1,2-2.45,2.24a2.64,2.64,0,0,1-2.73-1.52c-.07-.55,1-1.16,2.45-1.36s2.65.09,2.73.64Z" /> + <path class="cls-3" d="M103.07,38.92c.24,4.36-.94,7.33-1.08,12-.22,6.74,3.21,14.46-2,22.19" /> + </g> + <path class="cls-7 app-name" d="M154.72,28.15h5.16v4.16A12.84,12.84,0,0,1,163.35,29a11.17,11.17,0,0,1,6.28-1.76,11.84,11.84,0,0,1,9.08,4.09c2.48,2.72,3.73,6.62,3.73,11.67q0,10.26-5.38,14.65a12.2,12.2,0,0,1-7.95,2.79,10.78,10.78,0,0,1-6-1.56,13.55,13.55,0,0,1-3.14-3v16h-5.28Zm19.84,24.6Q177,49.65,177,43.5a17,17,0,0,0-1.09-6.44,7.51,7.51,0,0,0-7.53-5.19q-5.49,0-7.52,5.48a21.49,21.49,0,0,0-1.09,7.44A15.64,15.64,0,0,0,160.88,51a8,8,0,0,0,13.68,1.78Z" /> + <path class="cls-7 app-name" d="M206,29.26a14.6,14.6,0,0,1,3,3V28.3h4.86V56.83c0,4-.58,7.13-1.75,9.44q-3.27,6.38-12.35,6.38a15.07,15.07,0,0,1-8.5-2.27,8.86,8.86,0,0,1-3.85-7.1h5.36a6,6,0,0,0,1.52,3.25q1.77,1.75,5.59,1.76,6,0,7.9-4.28,1.1-2.52,1-9a10.39,10.39,0,0,1-3.8,3.57,13.56,13.56,0,0,1-14.75-2.45q-3.81-3.62-3.81-12,0-7.89,3.84-12.31a11.85,11.85,0,0,1,9.27-4.42A11.37,11.37,0,0,1,206,29.26Zm.64,5.66a7.61,7.61,0,0,0-6.09-2.81A7.52,7.52,0,0,0,193,37.32a20.56,20.56,0,0,0-1.08,7.3c0,3.53.72,6.22,2.14,8.07a6.93,6.93,0,0,0,5.76,2.77,8.09,8.09,0,0,0,8-5.13A16.72,16.72,0,0,0,209,43.56Q209,37.73,206.62,34.92Z" /> + <path class="cls-7 app-name" d="M235.16,16.34h6.58l15.62,43H251l-4.5-12.89H229.6l-4.67,12.89h-6Zm9.67,25.4-6.63-19-6.88,19Z" /> + <path class="cls-7 app-name" d="M279.16,29a14.3,14.3,0,0,1,3.18,3.08V16.2h5.07V59.38h-4.75V55a11.33,11.33,0,0,1-4.35,4.19,12.51,12.51,0,0,1-5.75,1.28,11.61,11.61,0,0,1-9-4.4q-3.82-4.41-3.83-11.74a20.35,20.35,0,0,1,3.49-11.88,11.41,11.41,0,0,1,10-5A11.15,11.15,0,0,1,279.16,29ZM267.39,52.5q2.13,3.39,6.82,3.39a7.17,7.17,0,0,0,6-3.14c1.56-2.1,2.35-5.12,2.35-9s-.81-6.9-2.42-8.81a7.56,7.56,0,0,0-6-2.85,7.88,7.88,0,0,0-6.43,3c-1.64,2-2.46,5-2.46,9A15.62,15.62,0,0,0,267.39,52.5Z" /> + <path class="cls-7 app-name" d="M295.29,28h5.21v4.46a17.4,17.4,0,0,1,3.4-3.37,10.24,10.24,0,0,1,5.92-1.79,9.34,9.34,0,0,1,6,1.85,9.61,9.61,0,0,1,2.34,3.1,11.37,11.37,0,0,1,4.13-3.73,11.52,11.52,0,0,1,5.33-1.22q6.33,0,8.62,4.57a15,15,0,0,1,1.23,6.62V59.38H332V37.58c0-2.09-.52-3.52-1.57-4.3a6.2,6.2,0,0,0-3.82-1.17,7.58,7.58,0,0,0-5.35,2.08c-1.49,1.38-2.24,3.7-2.24,6.94V59.38h-5.36V38.9a10.78,10.78,0,0,0-.76-4.66q-1.2-2.19-4.49-2.19A7.73,7.73,0,0,0,303,34.36c-1.63,1.54-2.45,4.34-2.45,8.38V59.38h-5.27Z" /> + <path class="cls-7 app-name" d="M345.27,16.34h5.36v6h-5.36Zm0,11.81h5.36V59.38h-5.36Z" /> + <path class="cls-7 app-name" d="M358.6,28h5v4.46a14,14,0,0,1,4.72-4,12.56,12.56,0,0,1,5.53-1.2c4.46,0,7.46,1.55,9,4.66a16.52,16.52,0,0,1,1.29,7.29V59.38h-5.37V39.61A10.8,10.8,0,0,0,378,35a5.15,5.15,0,0,0-5.1-2.93,10.21,10.21,0,0,0-3.08.38A8,8,0,0,0,366,35a7.66,7.66,0,0,0-1.71,3.2,21.84,21.84,0,0,0-.4,4.74V59.38H358.6Z" /> + <path class="cls-8 app-tagline" d="M155.24,86.87h3.9l5.77,17,5.74-17h3.87V107h-2.6V95.1q0-.61,0-2c0-.94,0-2,0-3L166.24,107h-2.7L157.75,90v.61c0,.49,0,1.24,0,2.25s.05,1.75.05,2.22V107h-2.6Z" /> + <path class="cls-8 app-tagline" d="M186.15,98.09a1.35,1.35,0,0,0,1.14-.71,2.31,2.31,0,0,0,.16-.94,2,2,0,0,0-.89-1.84A4.79,4.79,0,0,0,184,94a3.21,3.21,0,0,0-2.73,1,3.44,3.44,0,0,0-.59,1.72h-2.3A4.28,4.28,0,0,1,180.14,93,7.16,7.16,0,0,1,184.05,92a8,8,0,0,1,4.19,1,3.34,3.34,0,0,1,1.6,3.06v8.44a1.06,1.06,0,0,0,.16.62.77.77,0,0,0,.66.23l.37,0,.44-.07V107a7.38,7.38,0,0,1-.88.21,5.92,5.92,0,0,1-.82,0,2,2,0,0,1-1.84-.9,3.63,3.63,0,0,1-.43-1.36,6.16,6.16,0,0,1-2.16,1.71,6.56,6.56,0,0,1-3.1.73,4.59,4.59,0,0,1-3.33-1.24,4.09,4.09,0,0,1-1.29-3.09,4,4,0,0,1,1.27-3.16,6.16,6.16,0,0,1,3.34-1.38ZM181,104.74a2.88,2.88,0,0,0,1.84.62,5.51,5.51,0,0,0,2.52-.61,3.37,3.37,0,0,0,2-3.26v-2a3.79,3.79,0,0,1-1.16.48,10.37,10.37,0,0,1-1.39.28l-1.49.19a5.68,5.68,0,0,0-2,.56,2.18,2.18,0,0,0-1.14,2A2,2,0,0,0,181,104.74Z" /> + <path class="cls-8 app-tagline" d="M193.88,92.31h2.33v2.08a6.73,6.73,0,0,1,2.2-1.85A6,6,0,0,1,201,92q3.12,0,4.21,2.18a7.73,7.73,0,0,1,.6,3.4V107h-2.5V97.73a4.87,4.87,0,0,0-.4-2.16,2.41,2.41,0,0,0-2.38-1.37,4.75,4.75,0,0,0-1.43.18,3.68,3.68,0,0,0-1.78,1.2,3.55,3.55,0,0,0-.8,1.5,10.3,10.3,0,0,0-.18,2.21V107h-2.46Z" /> + <path class="cls-8 app-tagline" d="M217.29,98.09a1.33,1.33,0,0,0,1.14-.71,2.15,2.15,0,0,0,.16-.94,2,2,0,0,0-.89-1.84,4.79,4.79,0,0,0-2.56-.56,3.24,3.24,0,0,0-2.73,1,3.44,3.44,0,0,0-.58,1.72h-2.3A4.27,4.27,0,0,1,211.28,93,7.19,7.19,0,0,1,215.2,92a8,8,0,0,1,4.19,1A3.36,3.36,0,0,1,221,96v8.44a1.14,1.14,0,0,0,.15.62.79.79,0,0,0,.67.23l.37,0,.43-.07V107a7.32,7.32,0,0,1-.87.21,6,6,0,0,1-.82,0,2,2,0,0,1-1.85-.9,3.46,3.46,0,0,1-.42-1.36,6.16,6.16,0,0,1-2.16,1.71,6.63,6.63,0,0,1-3.11.73,4.58,4.58,0,0,1-3.32-1.24,4.06,4.06,0,0,1-1.3-3.09A4,4,0,0,1,210,100a6.13,6.13,0,0,1,3.33-1.38Zm-5.18,6.65a2.91,2.91,0,0,0,1.85.62,5.47,5.47,0,0,0,2.51-.61,3.38,3.38,0,0,0,2.06-3.26v-2a3.9,3.9,0,0,1-1.16.48,10.51,10.51,0,0,1-1.4.28l-1.48.19a5.55,5.55,0,0,0-2,.56,2.17,2.17,0,0,0-1.15,2A2,2,0,0,0,212.11,104.74Z" /> + <path class="cls-8 app-tagline" d="M233.16,92.9a7.05,7.05,0,0,1,1.42,1.39V92.45h2.27v13.32a10,10,0,0,1-.82,4.4c-1,2-2.94,3-5.77,3a7.09,7.09,0,0,1-4-1.06,4.15,4.15,0,0,1-1.8-3.32H227a2.81,2.81,0,0,0,.71,1.52,3.57,3.57,0,0,0,2.61.82c1.88,0,3.1-.66,3.68-2a11.15,11.15,0,0,0,.48-4.2,4.84,4.84,0,0,1-1.77,1.67,5.93,5.93,0,0,1-2.74.54,5.79,5.79,0,0,1-4.14-1.69q-1.79-1.68-1.78-5.58a8.49,8.49,0,0,1,1.79-5.74,5.51,5.51,0,0,1,4.32-2.07A5.33,5.33,0,0,1,233.16,92.9Zm.3,2.64a3.77,3.77,0,0,0-6.38,1.12,9.73,9.73,0,0,0-.5,3.4,6.05,6.05,0,0,0,1,3.77,3.21,3.21,0,0,0,2.68,1.29,3.77,3.77,0,0,0,3.72-2.39,7.71,7.71,0,0,0,.6-3.16A6.13,6.13,0,0,0,233.46,95.54Z" /> + <path class="cls-8 app-tagline" d="M249.64,92.72a5.44,5.44,0,0,1,2.21,1.89,6.52,6.52,0,0,1,1,2.58,17.44,17.44,0,0,1,.22,3.23H242.4a6.34,6.34,0,0,0,1,3.59,3.49,3.49,0,0,0,3,1.35,3.9,3.9,0,0,0,3.05-1.28,4.5,4.5,0,0,0,.9-1.72h2.42a5,5,0,0,1-.63,1.8,6.58,6.58,0,0,1-1.21,1.62,5.71,5.71,0,0,1-2.75,1.48,8.71,8.71,0,0,1-2,.21,6.11,6.11,0,0,1-4.6-2,7.79,7.79,0,0,1-1.89-5.58,8.41,8.41,0,0,1,1.9-5.72,6.26,6.26,0,0,1,5-2.21A6.59,6.59,0,0,1,249.64,92.72Zm.88,5.74a6.46,6.46,0,0,0-.69-2.55,3.54,3.54,0,0,0-3.35-1.78,3.72,3.72,0,0,0-2.82,1.22,4.69,4.69,0,0,0-1.21,3.11Z" /> + <path class="cls-8 app-tagline" d="M256.16,92.31h2.44v2.08a8.23,8.23,0,0,1,1.58-1.57A4.79,4.79,0,0,1,263,92a4.31,4.31,0,0,1,2.81.87,4.5,4.5,0,0,1,1.1,1.44,5.27,5.27,0,0,1,1.92-1.74,5.37,5.37,0,0,1,2.49-.57,4.08,4.08,0,0,1,4,2.14,7,7,0,0,1,.58,3.09V107h-2.56V96.78a2.41,2.41,0,0,0-.73-2,2.93,2.93,0,0,0-1.79-.54,3.53,3.53,0,0,0-2.49,1,4.23,4.23,0,0,0-1.05,3.24V107h-2.5V97.4a5,5,0,0,0-.36-2.18,2.17,2.17,0,0,0-2.09-1,3.59,3.59,0,0,0-2.53,1.08c-.76.72-1.14,2-1.14,3.91V107h-2.47Z" /> + <path class="cls-8 app-tagline" d="M288.53,92.72a5.47,5.47,0,0,1,2.22,1.89,6.67,6.67,0,0,1,1,2.58,17.66,17.66,0,0,1,.21,3.23H281.29a6.42,6.42,0,0,0,1,3.59,3.48,3.48,0,0,0,3,1.35,3.9,3.9,0,0,0,3.06-1.28,4.5,4.5,0,0,0,.9-1.72h2.42a5.23,5.23,0,0,1-.64,1.8,6.56,6.56,0,0,1-1.2,1.62,5.7,5.7,0,0,1-2.76,1.48,8.62,8.62,0,0,1-2,.21,6.14,6.14,0,0,1-4.61-2,7.79,7.79,0,0,1-1.89-5.58,8.41,8.41,0,0,1,1.91-5.72,6.24,6.24,0,0,1,5-2.21A6.58,6.58,0,0,1,288.53,92.72Zm.88,5.74a6.46,6.46,0,0,0-.69-2.55,3.53,3.53,0,0,0-3.35-1.78,3.72,3.72,0,0,0-2.82,1.22,4.63,4.63,0,0,0-1.2,3.11Z" /> + <path class="cls-8 app-tagline" d="M295.06,92.31h2.34v2.08a6.63,6.63,0,0,1,2.2-1.85,5.91,5.91,0,0,1,2.58-.56c2.08,0,3.49.73,4.21,2.18a7.57,7.57,0,0,1,.61,3.4V107h-2.51V97.73a5,5,0,0,0-.39-2.16,2.41,2.41,0,0,0-2.38-1.37,4.86,4.86,0,0,0-1.44.18,3.7,3.7,0,0,0-1.77,1.2,3.55,3.55,0,0,0-.8,1.5,9.58,9.58,0,0,0-.19,2.21V107h-2.46Z" /> + <path class="cls-8 app-tagline" d="M311.13,88.22h2.48v4.09H316v2h-2.34v9.56a1,1,0,0,0,.52,1,2.21,2.21,0,0,0,1,.15h.38l.48,0v2a4.16,4.16,0,0,1-.88.18,7.74,7.74,0,0,1-1,.06,2.69,2.69,0,0,1-2.34-.88,3.94,3.94,0,0,1-.61-2.29v-9.7h-2v-2h2Z" /> + <path class="cls-8 app-tagline" d="M340.63,86.87v2.39h-6.77V107h-2.75V89.26h-6.76V86.87Z" /> + <path class="cls-8 app-tagline" d="M350.31,93.77a7.42,7.42,0,0,1,1.94,5.55,9.57,9.57,0,0,1-1.71,5.85,6.19,6.19,0,0,1-5.31,2.3,6,6,0,0,1-4.76-2A8.08,8.08,0,0,1,338.7,100a8.78,8.78,0,0,1,1.86-5.88,6.25,6.25,0,0,1,5-2.18A6.6,6.6,0,0,1,350.31,93.77Zm-1.53,9.74a9.32,9.32,0,0,0,.9-4.12,7.39,7.39,0,0,0-.65-3.33,3.63,3.63,0,0,0-3.54-2,3.49,3.49,0,0,0-3.25,1.72,8.07,8.07,0,0,0-1,4.15,7.05,7.05,0,0,0,1,3.89,3.56,3.56,0,0,0,3.22,1.56A3.35,3.35,0,0,0,348.78,103.51Z" /> + <path class="cls-8 app-tagline" d="M365.88,93.77a7.42,7.42,0,0,1,1.94,5.55,9.57,9.57,0,0,1-1.71,5.85,6.19,6.19,0,0,1-5.31,2.3,6,6,0,0,1-4.76-2,8.08,8.08,0,0,1-1.77-5.48,8.78,8.78,0,0,1,1.86-5.88,6.25,6.25,0,0,1,5-2.18A6.58,6.58,0,0,1,365.88,93.77Zm-1.53,9.74a9.32,9.32,0,0,0,.9-4.12,7.26,7.26,0,0,0-.65-3.33,3.63,3.63,0,0,0-3.54-2,3.46,3.46,0,0,0-3.24,1.72,8,8,0,0,0-1,4.15,7,7,0,0,0,1,3.89,3.54,3.54,0,0,0,3.21,1.56A3.35,3.35,0,0,0,364.35,103.51Z" /> + <path class="cls-8 app-tagline" d="M370.91,86.87h2.46V107h-2.46Z" /> + <path class="cls-8 app-tagline" d="M378.53,102.36a3.47,3.47,0,0,0,.63,1.89,4,4,0,0,0,3.29,1.19,4.86,4.86,0,0,0,2.45-.6A2,2,0,0,0,386,103a1.56,1.56,0,0,0-.84-1.43,10.63,10.63,0,0,0-2.14-.7l-2-.49a10,10,0,0,1-2.81-1,3.11,3.11,0,0,1-1.61-2.76,4.21,4.21,0,0,1,1.52-3.37,6.13,6.13,0,0,1,4.08-1.28q3.36,0,4.83,1.94a4.24,4.24,0,0,1,.91,2.65h-2.33A2.72,2.72,0,0,0,385,95a3.92,3.92,0,0,0-3-1,3.7,3.7,0,0,0-2.16.53,1.65,1.65,0,0,0-.74,1.4,1.73,1.73,0,0,0,1,1.53,5.69,5.69,0,0,0,1.64.6l1.66.4A12.73,12.73,0,0,1,387,99.75a3.3,3.3,0,0,1,1.44,3,4.48,4.48,0,0,1-1.5,3.37,6.45,6.45,0,0,1-4.58,1.43c-2.2,0-3.77-.5-4.68-1.49a5.59,5.59,0,0,1-1.48-3.67Z" /> + <path class="cls-8 app-tagline" d="M400,87.84c.58-.84,1.68-1.26,3.32-1.26l.48,0,.56,0v2.24l-.56,0h-.32c-.76,0-1.21.19-1.36.58a11.75,11.75,0,0,0-.22,3h2.46v1.94h-2.46V107h-2.43V94.32h-2V92.38h2v-2.3A4.43,4.43,0,0,1,400,87.84Z" /> + <path class="cls-8 app-tagline" d="M417.23,93.77a7.38,7.38,0,0,1,1.94,5.55,9.57,9.57,0,0,1-1.71,5.85,6.18,6.18,0,0,1-5.3,2.3,6,6,0,0,1-4.77-2,8.07,8.07,0,0,1-1.76-5.48,8.83,8.83,0,0,1,1.85-5.88,6.25,6.25,0,0,1,5-2.18A6.58,6.58,0,0,1,417.23,93.77Zm-1.53,9.74a9.32,9.32,0,0,0,.9-4.12,7.26,7.26,0,0,0-.65-3.33,3.63,3.63,0,0,0-3.54-2,3.47,3.47,0,0,0-3.24,1.72,8,8,0,0,0-1,4.15,7,7,0,0,0,1,3.89,3.55,3.55,0,0,0,3.22,1.56A3.35,3.35,0,0,0,415.7,103.51Z" /> + <path class="cls-8 app-tagline" d="M422.26,92.31h2.34v2.53A5.61,5.61,0,0,1,426,93,3.68,3.68,0,0,1,428.59,92l.24,0,.56,0v2.6a2.08,2.08,0,0,0-.41-.05l-.4,0a3.52,3.52,0,0,0-2.86,1.2,4.2,4.2,0,0,0-1,2.75V107h-2.46Z" /> + <path class="cls-8 app-tagline" d="M439.89,86.87h9a6.09,6.09,0,0,1,4.31,1.51,5.5,5.5,0,0,1,1.64,4.25,6.15,6.15,0,0,1-1.47,4.09,5.5,5.5,0,0,1-4.47,1.74h-6.27V107h-2.72Zm10.55,2.76a5.92,5.92,0,0,0-2.46-.42h-5.37v7H448a5.07,5.07,0,0,0,2.95-.78,3.1,3.1,0,0,0,1.14-2.75A3,3,0,0,0,450.44,89.63Z" /> + <path class="cls-8 app-tagline" d="M468.58,93.77a7.38,7.38,0,0,1,1.95,5.55,9.51,9.51,0,0,1-1.72,5.85,6.17,6.17,0,0,1-5.3,2.3,6,6,0,0,1-4.77-2A8.07,8.07,0,0,1,457,100a8.78,8.78,0,0,1,1.86-5.88,6.23,6.23,0,0,1,5-2.18A6.56,6.56,0,0,1,468.58,93.77Zm-1.52,9.74a9.32,9.32,0,0,0,.9-4.12,7.39,7.39,0,0,0-.65-3.33,3.65,3.65,0,0,0-3.55-2,3.48,3.48,0,0,0-3.24,1.72,8,8,0,0,0-1,4.15,7,7,0,0,0,1,3.89,3.56,3.56,0,0,0,3.22,1.56A3.36,3.36,0,0,0,467.06,103.51Z" /> + <path class="cls-8 app-tagline" d="M475,102.36a3.47,3.47,0,0,0,.63,1.89,4,4,0,0,0,3.29,1.19,4.93,4.93,0,0,0,2.46-.6,2,2,0,0,0,1.06-1.84,1.55,1.55,0,0,0-.85-1.43,10.4,10.4,0,0,0-2.14-.7l-2-.49a9.78,9.78,0,0,1-2.8-1,3.1,3.1,0,0,1-1.62-2.76,4.21,4.21,0,0,1,1.52-3.37,6.13,6.13,0,0,1,4.08-1.28q3.36,0,4.84,1.94a4.17,4.17,0,0,1,.9,2.65h-2.33a2.72,2.72,0,0,0-.6-1.51,3.92,3.92,0,0,0-3-1,3.7,3.7,0,0,0-2.16.53,1.64,1.64,0,0,0-.73,1.4,1.72,1.72,0,0,0,1,1.53,5.66,5.66,0,0,0,1.65.6l1.65.4a12.83,12.83,0,0,1,3.63,1.24,3.31,3.31,0,0,1,1.43,3,4.48,4.48,0,0,1-1.5,3.37,6.45,6.45,0,0,1-4.58,1.43q-3.3,0-4.68-1.49a5.59,5.59,0,0,1-1.48-3.67Z" /> + <path class="cls-8 app-tagline" d="M488,88.22h2.49v4.09h2.34v2h-2.34v9.56a1,1,0,0,0,.52,1,2.19,2.19,0,0,0,.95.15h.39l.48,0v2a4.39,4.39,0,0,1-.89.18,7.52,7.52,0,0,1-1,.06,2.69,2.69,0,0,1-2.34-.88A3.94,3.94,0,0,1,488,104v-9.7h-2v-2h2Z" /> + <path class="cls-8 app-tagline" d="M503.47,92.9a6.78,6.78,0,0,1,1.41,1.39V92.45h2.27v13.32a10,10,0,0,1-.81,4.4c-1,2-2.94,3-5.77,3a7.09,7.09,0,0,1-4-1.06,4.1,4.1,0,0,1-1.8-3.32h2.5a2.74,2.74,0,0,0,.71,1.52,3.57,3.57,0,0,0,2.61.82c1.87,0,3.1-.66,3.68-2a11.37,11.37,0,0,0,.48-4.2,4.84,4.84,0,0,1-1.77,1.67,6,6,0,0,1-2.74.54,5.83,5.83,0,0,1-4.15-1.69q-1.77-1.68-1.77-5.58a8.43,8.43,0,0,1,1.79-5.74,5.51,5.51,0,0,1,4.32-2.07A5.38,5.38,0,0,1,503.47,92.9Zm.3,2.64a3.56,3.56,0,0,0-2.85-1.31,3.5,3.5,0,0,0-3.53,2.43,9.48,9.48,0,0,0-.51,3.4,6.12,6.12,0,0,0,1,3.77,3.24,3.24,0,0,0,2.69,1.29,3.75,3.75,0,0,0,3.71-2.39,7.71,7.71,0,0,0,.6-3.16A6.14,6.14,0,0,0,503.77,95.54Z" /> + <path class="cls-8 app-tagline" d="M511,92.31h2.33v2.53a5.91,5.91,0,0,1,1.41-1.8A3.69,3.69,0,0,1,517.3,92l.23,0,.56,0v2.6a2.08,2.08,0,0,0-.4-.05l-.41,0a3.48,3.48,0,0,0-2.85,1.2,4.14,4.14,0,0,0-1,2.75V107H511Z" /> + <path class="cls-8 app-tagline" d="M529.27,92.72a5.44,5.44,0,0,1,2.21,1.89,6.52,6.52,0,0,1,1,2.58,16.6,16.6,0,0,1,.22,3.23H522a6.34,6.34,0,0,0,1,3.59,3.49,3.49,0,0,0,3,1.35,3.9,3.9,0,0,0,3-1.28,4.37,4.37,0,0,0,.9-1.72h2.42a5,5,0,0,1-.63,1.8,6.34,6.34,0,0,1-1.21,1.62,5.71,5.71,0,0,1-2.75,1.48,8.65,8.65,0,0,1-2,.21,6.11,6.11,0,0,1-4.6-2,7.79,7.79,0,0,1-1.89-5.58,8.41,8.41,0,0,1,1.9-5.72,6.26,6.26,0,0,1,5-2.21A6.59,6.59,0,0,1,529.27,92.72Zm.88,5.74a6.46,6.46,0,0,0-.69-2.55,3.54,3.54,0,0,0-3.35-1.78,3.72,3.72,0,0,0-2.82,1.22,4.69,4.69,0,0,0-1.21,3.11Z" /> + <path class="cls-8 app-tagline" d="M537.9,100.47a5.6,5.6,0,0,0,.78,2.78q1.3,2,4.59,2a7.9,7.9,0,0,0,2.69-.44,3.09,3.09,0,0,0,2.34-3,2.64,2.64,0,0,0-1-2.33,9.55,9.55,0,0,0-3.15-1.19l-2.64-.62a11.41,11.41,0,0,1-3.65-1.33A4.23,4.23,0,0,1,536,92.54a5.86,5.86,0,0,1,1.83-4.44A7.16,7.16,0,0,1,543,86.37a8.75,8.75,0,0,1,5.22,1.52,5.57,5.57,0,0,1,2.15,4.87h-2.56a5.12,5.12,0,0,0-.84-2.47c-.79-1.05-2.14-1.57-4.05-1.57a4.51,4.51,0,0,0-3.31,1,3.2,3.2,0,0,0-1,2.35,2.33,2.33,0,0,0,1.19,2.16,16.76,16.76,0,0,0,3.54,1.09l2.73.65a8.15,8.15,0,0,1,3,1.27,4.81,4.81,0,0,1,1.86,4.09,5.14,5.14,0,0,1-2.37,4.77,10.46,10.46,0,0,1-5.5,1.43,8.07,8.07,0,0,1-5.72-1.91,6.57,6.57,0,0,1-2-5.16Z" /> + <path class="cls-8 app-tagline" d="M573.17,106.9l-1.36,1.65-3.11-2.36a11.33,11.33,0,0,1-2.43,1,10.29,10.29,0,0,1-2.85.37,9.18,9.18,0,0,1-7.32-3.06A11.71,11.71,0,0,1,553.76,97a11.9,11.9,0,0,1,2-7,8.78,8.78,0,0,1,7.69-3.72c3.54,0,6.17,1.14,7.87,3.42a11.08,11.08,0,0,1,2,6.82,14.28,14.28,0,0,1-.48,3.73,9.67,9.67,0,0,1-2.44,4.46ZM565.35,105a3.36,3.36,0,0,0,1.29-.47l-2.22-1.72,1.37-1.68,2.62,2A7.5,7.5,0,0,0,570.1,100a13.76,13.76,0,0,0,.45-3.39,8.48,8.48,0,0,0-1.85-5.7,6.35,6.35,0,0,0-5.07-2.17,6.6,6.6,0,0,0-5.15,2.08q-1.9,2.07-1.9,6.38A8.64,8.64,0,0,0,558.4,103a6.63,6.63,0,0,0,5.36,2.15A11.24,11.24,0,0,0,565.35,105Z" /> + <path class="cls-8 app-tagline" d="M576.58,86.87h2.72v17.69h10.08V107h-12.8Z" /> + <line class="cls-9 app-name-underline" x1="219.17" y1="66.5" x2="384.17" y2="66.5" /> + </g> + </svg> + </div> <h4>{{ _('Feature rich') }} | {{ _('Maximises PostgreSQL') }} | {{ _('Open Source') }} </h4> <p> {{ _('pgAdmin is an Open Source administration and management tool for the PostgreSQL database. It includes a graphical administration interface, an SQL query tool, a procedural code debugger and much more. The tool is designed to answer the needs of developers, DBAs and system administrators alike.') }} diff --git a/web/pgadmin/static/scss/resources/_default.variables.scss b/web/pgadmin/static/scss/resources/_default.variables.scss index 29387ddf8..3198ec643 100644 --- a/web/pgadmin/static/scss/resources/_default.variables.scss +++ b/web/pgadmin/static/scss/resources/_default.variables.scss @@ -33,7 +33,7 @@ $color-gray: #bac1cd !default; $color-gray-light: #ebeef3 !default; $color-gray-lighter: #f3f5f9 !default; -$color-brand: $white !default; +$color-brand: $color-primary !default; /* Typography */ diff --git a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss index d3cb45238..be5b77185 100644 --- a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss +++ b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss @@ -2,7 +2,7 @@ $white: #fff; $black: #000; $color-bg: #212121; -$color-fg: #ddd; +$color-fg: #d4d4d4; $color-primary: #234d6e; $color-primary-fg: $color-fg; @@ -30,7 +30,7 @@ $color-gray: #2e2e2e; $color-gray-light: #303030; $color-gray-lighter: #424242; -$color-brand: $white; +$color-brand: #1b71b5; $border-color: #4a4a4a; $shadow-base-color: #111111; ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 09:17 Dave Page <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Dave Page @ 2019-11-12 09:17 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi On Tue, Nov 12, 2019 at 4:59 AM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > Attached is a patch to address the review comments. > > On Mon, Nov 11, 2019 at 9:13 PM Dave Page <[email protected]> wrote: > >> Hi >> >> On Mon, Nov 11, 2019 at 3:11 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Dave, >>> >>> On Mon, Nov 11, 2019, 20:33 Dave Page <[email protected]> wrote: >>> >>>> Hi >>>> >>>> That's looking a lot better. I see a couple of issues (screenshots >>>> attached): >>>> >>>> - The combo box on the query tool toolbar isn't dark. >>>> >>> I'm not sure why you are not able to see it but I've changed it. Try a >>> python restart. >>> >> >> I've done a make clean/make bundle, restarted Python, and done a hard >> reload in the browser to no joy. FYI, I'm running in Chrome 78.0.3904.70 on >> macOS. >> > [image: Screenshot 2019-11-12 at 10.03.59.png] > I'm not seeing it. Pulled latest, bundled and restarted. :/ > So I eventually found that I had a rogue Python process running pgAdmin that somehow got detached from PyCharm. Killed that, restarted, and now it looks good. > > >> >>> - The tagline on the dashboard logo isn't readable. >>>> >>> Yes because that's an SVG image. We may need to make it completely from >>> HTML. >>> >> >> Can we have an alternate image? Maybe if it's served through a flask >> route and we look for /logo.png?t=dark or something like that to select the >> image version? >> > Or better embed the SVG so that we can change colors using CSS. Patch > attached. You can tweak $color-brand to change the welcome dashboards blue > color. > Looks good. > >> >>> >>>> A couple of other thoughts: >>>> >>>> - The guide lines on the graphs are still too bright. Let's make them >>>> the same colour as the graph boarders please. >>>> >>> There is technical limitation here. To change those grid lines based on >>> theme we need to import variables in JS. I didn't find a way to dynamically >>> load SASS variables based on theme. >>> So I chose color which would work for both dark and black backgrounds >>> and is hard coded in JS. >>> >> >> Urgh, OK. We'll need to think about that then. >> >> >>> >>>> - The header bar foreground colour and the dividing white line below it >>>> seem quite harsh. Are they pure white? They should be softened a little bit. >>>> >>> I'll check the color, but AFAIR it's not pure white. >>> >> >> OK, thanks! >> > I didn't find anyone using white color. Could you please share a > screenshot ? I've changed the foreground from #ddd to #d4d4d4 to soften a > bit. > Attached. It may just be that it looks a little sharp because it's a long line. Maybe we should just make it a darker shade entirely. [image: Screenshot 2019-11-12 at 09.09.42.png] BTW, what was the reason for removing the styling from the scroll bars? >> >>> >>>> Thanks! >>>> >>>> On Mon, Nov 11, 2019 at 1:22 PM Akshay Joshi < >>>> [email protected]> wrote: >>>> >>>>> Thanks, patch applied. >>>>> >>>>> As per discussion with Aditya, we have removed customized scroll bars >>>>> for the time being as they are not clearly visible with some of the >>>>> components. >>>>> >>>>> On Mon, Nov 11, 2019 at 5:25 PM Aditya Toshniwal < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Hackers, >>>>>> >>>>>> Attached is the updated patch. >>>>>> Kindly review. >>>>>> >>>>>> On Mon, Nov 11, 2019 at 3:42 PM Aditya Toshniwal < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Kindly hold on with the patch. Few more changes required per review >>>>>>> by @Ashesh Vashi <[email protected]> . >>>>>>> >>>>>>> On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi Hackers, >>>>>>>> >>>>>>>> Attached is the patch for further improvements in the Dark theme >>>>>>>> colors. >>>>>>>> Gray shades and other colors are changed to identify different >>>>>>>> components more clearly. Few of the controls were missing the privileges of >>>>>>>> dark theme, fixed that. >>>>>>>> Few dashboard graph related changes. >>>>>>>> As suggested, theme related code changes is removed from config.py >>>>>>>> and moved to miscellaneous under a new package - Themes. Thank you @Ashesh >>>>>>>> Vashi <[email protected]> for inputs on that. >>>>>>>> >>>>>>>> Kindly review. >>>>>>>> >>>>>>>> On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Dave, >>>>>>>>> >>>>>>>>> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi >>>>>>>>>> >>>>>>>>>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>>>>>>>>> [email protected]> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Dave, >>>>>>>>>>> >>>>>>>>>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks, patch applied. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi Hackers, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Attached is the updated patch with few more changes and >>>>>>>>>>>>>>> corrections. >>>>>>>>>>>>>>> Kindly review. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> I've committed a couple of minor tweaks - one to remove a >>>>>>>>>>>>> space, e.g. >>>>>>>>>>>>> >>>>>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>>>>>>>>> >>>>>>>>>>>>> is now: >>>>>>>>>>>>> >>>>>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>>>>>>>>> >>>>>>>>>>>>> And another change to fix the word wrapping in the README >>>>>>>>>>>>> which was totally different from the rest of the file. >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks! >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Oh, and do we need all the code in config.py? I really didn't >>>>>>>>>>>> even want a config option in there to turn theming on or off (what's the >>>>>>>>>>>> point?), let alone 20 new lines. >>>>>>>>>>>> >>>>>>>>>>> The code is added after the config_local and config_distro is >>>>>>>>>>> loaded. So, user won't be able to disable it unless he directly changes the >>>>>>>>>>> config.py. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> That is clearly wrong and needs to be fixed. config_local and >>>>>>>>>> config_distro should be able to override anything in config.py. >>>>>>>>>> >>>>>>>>>> But... why allow the themes to be updated or disabled at all? >>>>>>>>>> It's not like a non-developer can add new ones, and it's not a security >>>>>>>>>> issue that an administrator might need to control. In fact, it's arguably >>>>>>>>>> an accessibility feature, for those whose eyes (like mine) last the day >>>>>>>>>> better with a darker theme. >>>>>>>>>> >>>>>>>>>> Let's remove it entirely please. I don't see any good reason to >>>>>>>>>> have any of that in config.py. >>>>>>>>>> >>>>>>>>> Intention is not to allow disabling the themes, but it's the >>>>>>>>> feature implementation code. I'll move out the code. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> I'll reduce the code a bit. >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Dave Page >>>>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>>>> Twitter: @pgsnake >>>>>>>>>>>> >>>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Thanks and Regards, >>>>>>>>>>> Aditya Toshniwal >>>>>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Dave Page >>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>> Twitter: @pgsnake >>>>>>>>>> >>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Thanks and Regards, >>>>>>>>> Aditya Toshniwal >>>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Thanks and Regards, >>>>>>>> Aditya Toshniwal >>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Thanks and Regards, >>>>>>> Aditya Toshniwal >>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Thanks and Regards, >>>>>> Aditya Toshniwal >>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Thanks & Regards* >>>>> *Akshay Joshi* >>>>> >>>>> *Sr. Software Architect* >>>>> *EnterpriseDB Software India Private Limited* >>>>> *Mobile: +91 976-788-8246* >>>>> >>>> >>>> >>>> -- >>>> Dave Page >>>> Blog: http://pgsnake.blogspot.com >>>> Twitter: @pgsnake >>>> >>>> EnterpriseDB UK: http://www.enterprisedb.com >>>> The Enterprise PostgreSQL Company >>>> >>> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company Attachments: [image/png] Screenshot 2019-11-12 at 10.03.59.png (72.3K, 3-Screenshot%202019-11-12%20at%2010.03.59.png) download | view image [image/png] Screenshot 2019-11-12 at 09.09.42.png (23.5K, 4-Screenshot%202019-11-12%20at%2009.09.42.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 09:50 Aditya Toshniwal <[email protected]> parent: Dave Page <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-12 09:50 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi, On Tue, Nov 12, 2019 at 2:47 PM Dave Page <[email protected]> wrote: > Hi > > On Tue, Nov 12, 2019 at 4:59 AM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Hackers, >> >> Attached is a patch to address the review comments. >> >> On Mon, Nov 11, 2019 at 9:13 PM Dave Page <[email protected]> wrote: >> >>> Hi >>> >>> On Mon, Nov 11, 2019 at 3:11 PM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Dave, >>>> >>>> On Mon, Nov 11, 2019, 20:33 Dave Page <[email protected]> wrote: >>>> >>>>> Hi >>>>> >>>>> That's looking a lot better. I see a couple of issues (screenshots >>>>> attached): >>>>> >>>>> - The combo box on the query tool toolbar isn't dark. >>>>> >>>> I'm not sure why you are not able to see it but I've changed it. Try a >>>> python restart. >>>> >>> >>> I've done a make clean/make bundle, restarted Python, and done a hard >>> reload in the browser to no joy. FYI, I'm running in Chrome 78.0.3904.70 on >>> macOS. >>> >> [image: Screenshot 2019-11-12 at 10.03.59.png] >> I'm not seeing it. Pulled latest, bundled and restarted. :/ >> > > So I eventually found that I had a rogue Python process running pgAdmin > that somehow got detached from PyCharm. Killed that, restarted, and now it > looks good. > > >> >> >>> >>>> - The tagline on the dashboard logo isn't readable. >>>>> >>>> Yes because that's an SVG image. We may need to make it completely from >>>> HTML. >>>> >>> >>> Can we have an alternate image? Maybe if it's served through a flask >>> route and we look for /logo.png?t=dark or something like that to select the >>> image version? >>> >> Or better embed the SVG so that we can change colors using CSS. Patch >> attached. You can tweak $color-brand to change the welcome dashboards blue >> color. >> > > Looks good. > > >> >>> >>>> >>>>> A couple of other thoughts: >>>>> >>>>> - The guide lines on the graphs are still too bright. Let's make them >>>>> the same colour as the graph boarders please. >>>>> >>>> There is technical limitation here. To change those grid lines based on >>>> theme we need to import variables in JS. I didn't find a way to dynamically >>>> load SASS variables based on theme. >>>> So I chose color which would work for both dark and black backgrounds >>>> and is hard coded in JS. >>>> >>> >>> Urgh, OK. We'll need to think about that then. >>> >>> >>>> >>>>> - The header bar foreground colour and the dividing white line below >>>>> it seem quite harsh. Are they pure white? They should be softened a little >>>>> bit. >>>>> >>>> I'll check the color, but AFAIR it's not pure white. >>>> >>> >>> OK, thanks! >>> >> I didn't find anyone using white color. Could you please share a >> screenshot ? I've changed the foreground from #ddd to #d4d4d4 to soften a >> bit. >> > > Attached. It may just be that it looks a little sharp because it's a long > line. Maybe we should just make it a darker shade entirely. > > [image: Screenshot 2019-11-12 at 09.09.42.png] > Why can't I see it :/ Maybe it got fixed along with the dark drop down for no limit. Could you please check again. [image: image.png] > > BTW, what was the reason for removing the styling from the scroll bars? > We had given gray shades to scrollbar which were not clearly visible for some tables. Plus, for systems were scrollbar is not always enabled was showing scrollbar. It should appear only on scroll on those systems. > > >>> >>>> >>>>> Thanks! >>>>> >>>>> On Mon, Nov 11, 2019 at 1:22 PM Akshay Joshi < >>>>> [email protected]> wrote: >>>>> >>>>>> Thanks, patch applied. >>>>>> >>>>>> As per discussion with Aditya, we have removed customized scroll bars >>>>>> for the time being as they are not clearly visible with some of the >>>>>> components. >>>>>> >>>>>> On Mon, Nov 11, 2019 at 5:25 PM Aditya Toshniwal < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Hackers, >>>>>>> >>>>>>> Attached is the updated patch. >>>>>>> Kindly review. >>>>>>> >>>>>>> On Mon, Nov 11, 2019 at 3:42 PM Aditya Toshniwal < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> Kindly hold on with the patch. Few more changes required per review >>>>>>>> by @Ashesh Vashi <[email protected]> . >>>>>>>> >>>>>>>> On Mon, Nov 11, 2019 at 3:07 PM Aditya Toshniwal < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Hackers, >>>>>>>>> >>>>>>>>> Attached is the patch for further improvements in the Dark theme >>>>>>>>> colors. >>>>>>>>> Gray shades and other colors are changed to identify different >>>>>>>>> components more clearly. Few of the controls were missing the privileges of >>>>>>>>> dark theme, fixed that. >>>>>>>>> Few dashboard graph related changes. >>>>>>>>> As suggested, theme related code changes is removed from config.py >>>>>>>>> and moved to miscellaneous under a new package - Themes. Thank you @Ashesh >>>>>>>>> Vashi <[email protected]> for inputs on that. >>>>>>>>> >>>>>>>>> Kindly review. >>>>>>>>> >>>>>>>>> On Mon, Nov 11, 2019 at 3:00 PM Aditya Toshniwal < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Hi Dave, >>>>>>>>>> >>>>>>>>>> On Mon, Nov 11, 2019 at 2:38 PM Dave Page <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Hi >>>>>>>>>>> >>>>>>>>>>> On Mon, Nov 11, 2019 at 7:01 AM Aditya Toshniwal < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Dave, >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Nov 7, 2019 at 7:56 PM Dave Page <[email protected]> >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Nov 7, 2019 at 2:18 PM Dave Page <[email protected]> >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Thu, Nov 7, 2019 at 1:25 PM Akshay Joshi < >>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thanks, patch applied. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Thu, Nov 7, 2019 at 6:39 PM Aditya Toshniwal < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi Hackers, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Attached is the updated patch with few more changes and >>>>>>>>>>>>>>>> corrections. >>>>>>>>>>>>>>>> Kindly review. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> I've committed a couple of minor tweaks - one to remove a >>>>>>>>>>>>>> space, e.g. >>>>>>>>>>>>>> >>>>>>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now ?'), >>>>>>>>>>>>>> >>>>>>>>>>>>>> is now: >>>>>>>>>>>>>> >>>>>>>>>>>>>> gettext('A page refresh is required to apply the theme. Do you wish to refresh the page now?'), >>>>>>>>>>>>>> >>>>>>>>>>>>>> And another change to fix the word wrapping in the README >>>>>>>>>>>>>> which was totally different from the rest of the file. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks! >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Oh, and do we need all the code in config.py? I really didn't >>>>>>>>>>>>> even want a config option in there to turn theming on or off (what's the >>>>>>>>>>>>> point?), let alone 20 new lines. >>>>>>>>>>>>> >>>>>>>>>>>> The code is added after the config_local and config_distro is >>>>>>>>>>>> loaded. So, user won't be able to disable it unless he directly changes the >>>>>>>>>>>> config.py. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> That is clearly wrong and needs to be fixed. config_local and >>>>>>>>>>> config_distro should be able to override anything in config.py. >>>>>>>>>>> >>>>>>>>>>> But... why allow the themes to be updated or disabled at all? >>>>>>>>>>> It's not like a non-developer can add new ones, and it's not a security >>>>>>>>>>> issue that an administrator might need to control. In fact, it's arguably >>>>>>>>>>> an accessibility feature, for those whose eyes (like mine) last the day >>>>>>>>>>> better with a darker theme. >>>>>>>>>>> >>>>>>>>>>> Let's remove it entirely please. I don't see any good reason to >>>>>>>>>>> have any of that in config.py. >>>>>>>>>>> >>>>>>>>>> Intention is not to allow disabling the themes, but it's the >>>>>>>>>> feature implementation code. I'll move out the code. >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Thanks. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> I'll reduce the code a bit. >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Dave Page >>>>>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>>>>> Twitter: @pgsnake >>>>>>>>>>>>> >>>>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Thanks and Regards, >>>>>>>>>>>> Aditya Toshniwal >>>>>>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Dave Page >>>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>>> Twitter: @pgsnake >>>>>>>>>>> >>>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Thanks and Regards, >>>>>>>>>> Aditya Toshniwal >>>>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Thanks and Regards, >>>>>>>>> Aditya Toshniwal >>>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Thanks and Regards, >>>>>>>> Aditya Toshniwal >>>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Thanks and Regards, >>>>>>> Aditya Toshniwal >>>>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Thanks & Regards* >>>>>> *Akshay Joshi* >>>>>> >>>>>> *Sr. Software Architect* >>>>>> *EnterpriseDB Software India Private Limited* >>>>>> *Mobile: +91 976-788-8246* >>>>>> >>>>> >>>>> >>>>> -- >>>>> Dave Page >>>>> Blog: http://pgsnake.blogspot.com >>>>> Twitter: @pgsnake >>>>> >>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [image/png] Screenshot 2019-11-12 at 10.03.59.png (72.3K, 3-Screenshot%202019-11-12%20at%2010.03.59.png) download | view image [image/png] Screenshot 2019-11-12 at 09.09.42.png (23.5K, 4-Screenshot%202019-11-12%20at%2009.09.42.png) download | view image [image/png] image.png (60.7K, 5-image.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 09:55 Dave Page <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 2 replies; 31+ messages in thread From: Dave Page @ 2019-11-12 09:55 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi On Tue, Nov 12, 2019 at 9:50 AM Aditya Toshniwal < [email protected]> wrote: > >> Attached. It may just be that it looks a little sharp because it's a long >> line. Maybe we should just make it a darker shade entirely. >> >> [image: Screenshot 2019-11-12 at 09.09.42.png] >> > > Why can't I see it :/ > Maybe it got fixed along with the dark drop down for no limit. Could you > please check again. > [image: image.png] > Nope, it's definitely still there: [image: Screenshot 2019-11-12 at 09.53.02.png] > BTW, what was the reason for removing the styling from the scroll bars? >> > We had given gray shades to scrollbar which were not clearly visible for > some tables. Plus, for systems were scrollbar is not always enabled was > showing scrollbar. It should appear only on scroll on those systems. > And you're working on that? We can't keep the ugly grey scroll bars! Thanks! -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company Attachments: [image/png] Screenshot 2019-11-12 at 09.09.42.png (23.5K, 3-Screenshot%202019-11-12%20at%2009.09.42.png) download | view image [image/png] image.png (60.7K, 4-image.png) download | view image [image/png] Screenshot 2019-11-12 at 09.53.02.png (36.7K, 5-Screenshot%202019-11-12%20at%2009.53.02.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 10:00 Avin Kavish <[email protected]> parent: Dave Page <[email protected]> 1 sibling, 0 replies; 31+ messages in thread From: Avin Kavish @ 2019-11-12 10:00 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Aditya Toshniwal <[email protected]>; Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> For inspiration, [image: image.png] On Tue, Nov 12, 2019 at 3:25 PM Dave Page <[email protected]> wrote: > Hi > > On Tue, Nov 12, 2019 at 9:50 AM Aditya Toshniwal < > [email protected]> wrote: > >> >>> Attached. It may just be that it looks a little sharp because it's a >>> long line. Maybe we should just make it a darker shade entirely. >>> >>> [image: Screenshot 2019-11-12 at 09.09.42.png] >>> >> >> Why can't I see it :/ >> Maybe it got fixed along with the dark drop down for no limit. Could you >> please check again. >> [image: image.png] >> > > Nope, it's definitely still there: > > [image: Screenshot 2019-11-12 at 09.53.02.png] > > > >> BTW, what was the reason for removing the styling from the scroll bars? >>> >> We had given gray shades to scrollbar which were not clearly visible for >> some tables. Plus, for systems were scrollbar is not always enabled was >> showing scrollbar. It should appear only on scroll on those systems. >> > > And you're working on that? We can't keep the ugly grey scroll bars! > > Thanks! > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > Attachments: [image/png] Screenshot 2019-11-12 at 09.09.42.png (23.5K, 3-Screenshot%202019-11-12%20at%2009.09.42.png) download | view image [image/png] image.png (60.7K, 4-image.png) download | view image [image/png] Screenshot 2019-11-12 at 09.53.02.png (36.7K, 5-Screenshot%202019-11-12%20at%2009.53.02.png) download | view image [image/png] image.png (6.8K, 6-image.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 10:11 Aditya Toshniwal <[email protected]> parent: Dave Page <[email protected]> 1 sibling, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-12 10:11 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> On Tue, Nov 12, 2019 at 3:25 PM Dave Page <[email protected]> wrote: > Hi > > On Tue, Nov 12, 2019 at 9:50 AM Aditya Toshniwal < > [email protected]> wrote: > >> >>> Attached. It may just be that it looks a little sharp because it's a >>> long line. Maybe we should just make it a darker shade entirely. >>> >>> [image: Screenshot 2019-11-12 at 09.09.42.png] >>> >> >> Why can't I see it :/ >> Maybe it got fixed along with the dark drop down for no limit. Could you >> please check again. >> [image: image.png] >> > > Nope, it's definitely still there: > I checked on 2-3 systems. It looks fine. May be the permanent enabled scrollbar causing it look like that. > > [image: Screenshot 2019-11-12 at 09.53.02.png] > > > >> BTW, what was the reason for removing the styling from the scroll bars? >>> >> We had given gray shades to scrollbar which were not clearly visible for >> some tables. Plus, for systems were scrollbar is not always enabled was >> showing scrollbar. It should appear only on scroll on those systems. >> > > And you're working on that? We can't keep the ugly grey scroll bars! > OK. I'll take it as priority. > > Thanks! > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [image/png] Screenshot 2019-11-12 at 09.09.42.png (23.5K, 3-Screenshot%202019-11-12%20at%2009.09.42.png) download | view image [image/png] image.png (60.7K, 4-image.png) download | view image [image/png] Screenshot 2019-11-12 at 09.53.02.png (36.7K, 5-Screenshot%202019-11-12%20at%2009.53.02.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 12:25 Akshay Joshi <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Akshay Joshi @ 2019-11-12 12:25 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Thanks, patch applied. On Tue, Nov 12, 2019 at 3:41 PM Aditya Toshniwal < [email protected]> wrote: > > > On Tue, Nov 12, 2019 at 3:25 PM Dave Page <[email protected]> wrote: > >> Hi >> >> On Tue, Nov 12, 2019 at 9:50 AM Aditya Toshniwal < >> [email protected]> wrote: >> >>> >>>> Attached. It may just be that it looks a little sharp because it's a >>>> long line. Maybe we should just make it a darker shade entirely. >>>> >>>> [image: Screenshot 2019-11-12 at 09.09.42.png] >>>> >>> >>> Why can't I see it :/ >>> Maybe it got fixed along with the dark drop down for no limit. Could you >>> please check again. >>> [image: image.png] >>> >> >> Nope, it's definitely still there: >> > I checked on 2-3 systems. It looks fine. May be the permanent enabled > scrollbar causing it look like that. > >> >> [image: Screenshot 2019-11-12 at 09.53.02.png] >> >> >> >>> BTW, what was the reason for removing the styling from the scroll bars? >>>> >>> We had given gray shades to scrollbar which were not clearly visible for >>> some tables. Plus, for systems were scrollbar is not always enabled was >>> showing scrollbar. It should appear only on scroll on those systems. >>> >> >> And you're working on that? We can't keep the ugly grey scroll bars! >> > OK. I'll take it as priority. > >> >> Thanks! >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* Attachments: [image/png] Screenshot 2019-11-12 at 09.09.42.png (23.5K, 3-Screenshot%202019-11-12%20at%2009.09.42.png) download | view image [image/png] image.png (60.7K, 4-image.png) download | view image [image/png] Screenshot 2019-11-12 at 09.53.02.png (36.7K, 5-Screenshot%202019-11-12%20at%2009.53.02.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 13:46 Aditya Toshniwal <[email protected]> parent: Akshay Joshi <[email protected]> 0 siblings, 2 replies; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-12 13:46 UTC (permalink / raw) To: Akshay Joshi <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi Hackers, Attached is the patch to customize the scrollbar styling. A new SASS variable added - $scrollbar-base-color is added to change the color as per theme. Please note, customization of scrollbar works only in webkit browsers like Chrome, Safari. Mozilla does not have any way to customize. Kindly review. On Tue, Nov 12, 2019 at 5:55 PM Akshay Joshi <[email protected]> wrote: > Thanks, patch applied. > > On Tue, Nov 12, 2019 at 3:41 PM Aditya Toshniwal < > [email protected]> wrote: > >> >> >> On Tue, Nov 12, 2019 at 3:25 PM Dave Page <[email protected]> wrote: >> >>> Hi >>> >>> On Tue, Nov 12, 2019 at 9:50 AM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> >>>>> Attached. It may just be that it looks a little sharp because it's a >>>>> long line. Maybe we should just make it a darker shade entirely. >>>>> >>>>> [image: Screenshot 2019-11-12 at 09.09.42.png] >>>>> >>>> >>>> Why can't I see it :/ >>>> Maybe it got fixed along with the dark drop down for no limit. Could >>>> you please check again. >>>> [image: image.png] >>>> >>> >>> Nope, it's definitely still there: >>> >> I checked on 2-3 systems. It looks fine. May be the permanent enabled >> scrollbar causing it look like that. >> >>> >>> [image: Screenshot 2019-11-12 at 09.53.02.png] >>> >>> >>> >>>> BTW, what was the reason for removing the styling from the scroll bars? >>>>> >>>> We had given gray shades to scrollbar which were not clearly visible >>>> for some tables. Plus, for systems were scrollbar is not always enabled was >>>> showing scrollbar. It should appear only on scroll on those systems. >>>> >>> >>> And you're working on that? We can't keep the ugly grey scroll bars! >>> >> OK. I'll take it as priority. >> >>> >>> Thanks! >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > > *Sr. Software Architect* > *EnterpriseDB Software India Private Limited* > *Mobile: +91 976-788-8246* > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [image/png] Screenshot 2019-11-12 at 09.09.42.png (23.5K, 3-Screenshot%202019-11-12%20at%2009.09.42.png) download | view image [image/png] image.png (60.7K, 4-image.png) download | view image [image/png] Screenshot 2019-11-12 at 09.53.02.png (36.7K, 5-Screenshot%202019-11-12%20at%2009.53.02.png) download | view image [application/octet-stream] RM4348.part4.patch (4.8K, 6-RM4348.part4.patch) download | inline diff: diff --git a/web/pgadmin/static/scss/_codemirror.overrides.scss b/web/pgadmin/static/scss/_codemirror.overrides.scss index 2857455be..d7c0ceda1 100644 --- a/web/pgadmin/static/scss/_codemirror.overrides.scss +++ b/web/pgadmin/static/scss/_codemirror.overrides.scss @@ -179,3 +179,29 @@ .CodeMirror-activeline-background { background: $color-danger-lighter !important; } + +.CodeMirror-simplescroll-horizontal { + height: $scrollbar-width; +} + +.CodeMirror-simplescroll-vertical { + width: $scrollbar-width; +} + +.CodeMirror-scrollbar-filler, .CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical { + background: rgba($scrollbar-base-color, 0.2); +} + +.CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical { + + & div { + border: 0.25rem solid transparent; + border-radius: $border-radius*2; + background-clip: content-box; + background-color: rgba($scrollbar-base-color, 0.7); + + &:hover { + background-color: $scrollbar-base-color; + } + } +} diff --git a/web/pgadmin/static/scss/_pgadmin.style.scss b/web/pgadmin/static/scss/_pgadmin.style.scss index 5d51c107e..2bdb77132 100644 --- a/web/pgadmin/static/scss/_pgadmin.style.scss +++ b/web/pgadmin/static/scss/_pgadmin.style.scss @@ -1034,3 +1034,20 @@ textarea { color: $input-color; background-color: $input-bg; } + +::-webkit-scrollbar, ::-webkit-scrollbar-corner { + width: $scrollbar-width; + height: $scrollbar-width; + background-color: rgba($scrollbar-base-color, 0.2); +} + +::-webkit-scrollbar-thumb { + border: 0.25rem solid transparent; + border-radius: $border-radius*2; + background-clip: content-box; + background-color: rgba($scrollbar-base-color, 0.7); +} + +::-webkit-scrollbar-thumb:hover { + background-color: $scrollbar-base-color; +} diff --git a/web/pgadmin/static/scss/resources/_default.variables.scss b/web/pgadmin/static/scss/resources/_default.variables.scss index 29387ddf8..2e1c72899 100644 --- a/web/pgadmin/static/scss/resources/_default.variables.scss +++ b/web/pgadmin/static/scss/resources/_default.variables.scss @@ -246,8 +246,8 @@ $no-border-radius: 0px !important; $btn-checkbox-padding: $input-btn-padding-y $input-btn-padding-x; -$scrollbar-color: $color-gray !default; -$scrollbar-hover-color: $color-gray-dark !default; +$scrollbar-base-color: #bac1cd !default; +$scrollbar-width: 1rem; $security-text-color: $white; $security-btn-color: #038bba; diff --git a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss index d3cb45238..2d1441dbc 100644 --- a/web/pgadmin/static/scss/resources/dark/_theme.variables.scss +++ b/web/pgadmin/static/scss/resources/dark/_theme.variables.scss @@ -70,8 +70,7 @@ $explain-sev-4-color: $color-fg; $negative-bg: $color-bg; -$scrollbar-color: $color-gray-lighter!default; -$scrollbar-hover-color: #666666 !default; +$scrollbar-base-color: #616161; $loader-icon : url("data:image/svg+xml;charset=UTF-8,%3c?xml version='1.0' encoding='utf-8'?%3e%3csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3e%3cstyle type='text/css'%3e .st0%7bfill:none;stroke:%23ebeef3;stroke-width:2;%7d .st1%7bfill:none;stroke:%2340617d;stroke-width:2;%7d %3c/style%3e%3cg%3e%3cg transform='translate(1 1)'%3e%3ccircle class='st0' cx='18' cy='18' r='18'/%3e%3cpath class='st1' d='M36,18c0-9.9-8.1-18-18-18 '%3e%3canimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3e%3c/animateTransform%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e ") !default; $loader-icon-small: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3C!-- Generator: Adobe Illustrator 23.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --%3E%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 38 38' style='enable-background:new 0 0 38 38;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23EBEEF3;stroke-width:5;%7D .st1%7Bfill:none;stroke:%2340617d;stroke-width:5;%7D%0A%3C/style%3E%3Cg%3E%3Cg transform='translate(1 1)'%3E%3Ccircle class='st0' cx='18' cy='18' r='16'/%3E%3Cpath class='st1' d='M34,18c0-8.8-7.2-16-16-16 '%3E%3CanimateTransform accumulate='none' additive='replace' attributeName='transform' calcMode='linear' dur='0.7s' fill='remove' from='0 18 18' repeatCount='indefinite' restart='always' to='360 18 18' type='rotate'%3E%3C/animateTransform%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A") !default; ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 13:59 Dave Page <[email protected]> parent: Aditya Toshniwal <[email protected]> 1 sibling, 1 reply; 31+ messages in thread From: Dave Page @ 2019-11-12 13:59 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> On Tue, Nov 12, 2019 at 1:47 PM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > Attached is the patch to customize the scrollbar styling. A new SASS > variable added - $scrollbar-base-color is added to change the color as per > theme. > Please note, customization of scrollbar works only in webkit browsers like > Chrome, Safari. Mozilla does not have any way to customize. > That looks much nicer :-). One more issue I just spotted - I'm guessing it's specific to Alertify dialogues: [image: Screenshot 2019-11-12 at 13.57.34.png] -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company Attachments: [image/png] Screenshot 2019-11-12 at 13.57.34.png (24.3K, 3-Screenshot%202019-11-12%20at%2013.57.34.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-12 14:10 Akshay Joshi <[email protected]> parent: Aditya Toshniwal <[email protected]> 1 sibling, 0 replies; 31+ messages in thread From: Akshay Joshi @ 2019-11-12 14:10 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Thanks, patch applied. On Tue, Nov 12, 2019 at 7:17 PM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > Attached is the patch to customize the scrollbar styling. A new SASS > variable added - $scrollbar-base-color is added to change the color as per > theme. > Please note, customization of scrollbar works only in webkit browsers like > Chrome, Safari. Mozilla does not have any way to customize. > > Kindly review. > > On Tue, Nov 12, 2019 at 5:55 PM Akshay Joshi < > [email protected]> wrote: > >> Thanks, patch applied. >> >> On Tue, Nov 12, 2019 at 3:41 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> >>> >>> On Tue, Nov 12, 2019 at 3:25 PM Dave Page <[email protected]> wrote: >>> >>>> Hi >>>> >>>> On Tue, Nov 12, 2019 at 9:50 AM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> >>>>>> Attached. It may just be that it looks a little sharp because it's a >>>>>> long line. Maybe we should just make it a darker shade entirely. >>>>>> >>>>>> [image: Screenshot 2019-11-12 at 09.09.42.png] >>>>>> >>>>> >>>>> Why can't I see it :/ >>>>> Maybe it got fixed along with the dark drop down for no limit. Could >>>>> you please check again. >>>>> [image: image.png] >>>>> >>>> >>>> Nope, it's definitely still there: >>>> >>> I checked on 2-3 systems. It looks fine. May be the permanent enabled >>> scrollbar causing it look like that. >>> >>>> >>>> [image: Screenshot 2019-11-12 at 09.53.02.png] >>>> >>>> >>>> >>>>> BTW, what was the reason for removing the styling from the scroll bars? >>>>>> >>>>> We had given gray shades to scrollbar which were not clearly visible >>>>> for some tables. Plus, for systems were scrollbar is not always enabled was >>>>> showing scrollbar. It should appear only on scroll on those systems. >>>>> >>>> >>>> And you're working on that? We can't keep the ugly grey scroll bars! >>>> >>> OK. I'll take it as priority. >>> >>>> >>>> Thanks! >>>> >>>> -- >>>> Dave Page >>>> Blog: http://pgsnake.blogspot.com >>>> Twitter: @pgsnake >>>> >>>> EnterpriseDB UK: http://www.enterprisedb.com >>>> The Enterprise PostgreSQL Company >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> *Thanks & Regards* >> *Akshay Joshi* >> >> *Sr. Software Architect* >> *EnterpriseDB Software India Private Limited* >> *Mobile: +91 976-788-8246* >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* Attachments: [image/png] Screenshot 2019-11-12 at 09.09.42.png (23.5K, 3-Screenshot%202019-11-12%20at%2009.09.42.png) download | view image [image/png] image.png (60.7K, 4-image.png) download | view image [image/png] Screenshot 2019-11-12 at 09.53.02.png (36.7K, 5-Screenshot%202019-11-12%20at%2009.53.02.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-13 04:33 Aditya Toshniwal <[email protected]> parent: Dave Page <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-13 04:33 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi Dave, On Tue, Nov 12, 2019 at 7:29 PM Dave Page <[email protected]> wrote: > > > On Tue, Nov 12, 2019 at 1:47 PM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Hackers, >> >> Attached is the patch to customize the scrollbar styling. A new SASS >> variable added - $scrollbar-base-color is added to change the color as per >> theme. >> Please note, customization of scrollbar works only in webkit browsers >> like Chrome, Safari. Mozilla does not have any way to customize. >> > > That looks much nicer :-). > > One more issue I just spotted - I'm guessing it's specific to Alertify > dialogues: > > [image: Screenshot 2019-11-12 at 13.57.34.png] > This is your browser autofill which is changing the color and not the issue with the dialogs. > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [image/png] Screenshot 2019-11-12 at 13.57.34.png (24.3K, 3-Screenshot%202019-11-12%20at%2013.57.34.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-13 05:15 Aditya Toshniwal <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-13 05:15 UTC (permalink / raw) To: Dave Page <[email protected]>; +Cc: Akshay Joshi <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi Hackers, Attached is the patch to set browser autofill color. I've used primary light color to highlight autofill. Note that, this works only on webkit browsers. Kindly review. On Wed, Nov 13, 2019 at 10:03 AM Aditya Toshniwal < [email protected]> wrote: > Hi Dave, > > On Tue, Nov 12, 2019 at 7:29 PM Dave Page <[email protected]> wrote: > >> >> >> On Tue, Nov 12, 2019 at 1:47 PM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Hackers, >>> >>> Attached is the patch to customize the scrollbar styling. A new SASS >>> variable added - $scrollbar-base-color is added to change the color as per >>> theme. >>> Please note, customization of scrollbar works only in webkit browsers >>> like Chrome, Safari. Mozilla does not have any way to customize. >>> >> >> That looks much nicer :-). >> >> One more issue I just spotted - I'm guessing it's specific to Alertify >> dialogues: >> >> [image: Screenshot 2019-11-12 at 13.57.34.png] >> > This is your browser autofill which is changing the color and not the > issue with the dialogs. > >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [image/png] Screenshot 2019-11-12 at 13.57.34.png (24.3K, 3-Screenshot%202019-11-12%20at%2013.57.34.png) download | view image [application/octet-stream] RM4348.part5_autofill.patch (1022B, 4-RM4348.part5_autofill.patch) download | inline diff: diff --git a/web/pgadmin/static/scss/_pgadmin.style.scss b/web/pgadmin/static/scss/_pgadmin.style.scss index 2bdb77132..c87fa4d48 100644 --- a/web/pgadmin/static/scss/_pgadmin.style.scss +++ b/web/pgadmin/static/scss/_pgadmin.style.scss @@ -1035,6 +1035,8 @@ textarea { background-color: $input-bg; } +/* Webkit customizations */ + ::-webkit-scrollbar, ::-webkit-scrollbar-corner { width: $scrollbar-width; height: $scrollbar-width; @@ -1051,3 +1053,17 @@ textarea { ::-webkit-scrollbar-thumb:hover { background-color: $scrollbar-base-color; } + +input:-webkit-autofill, +input:-webkit-autofill:hover, +input:-webkit-autofill:focus, +textarea:-webkit-autofill, +textarea:-webkit-autofill:hover, +textarea:-webkit-autofill:focus, +select:-webkit-autofill, +select:-webkit-autofill:hover, +select:-webkit-autofill:focus { + -webkit-text-fill-color: $color-primary-light-fg; + -webkit-box-shadow: 0 0 0px 1000px $color-primary-light inset; + transition: background-color 5000s ease-in-out 0s; +} ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-13 06:06 Akshay Joshi <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Akshay Joshi @ 2019-11-13 06:06 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Thanks, patch applied. On Wed, Nov 13, 2019 at 10:46 AM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > Attached is the patch to set browser autofill color. I've used primary > light color to highlight autofill. Note that, this works only on webkit > browsers. > Kindly review. > > On Wed, Nov 13, 2019 at 10:03 AM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Dave, >> >> On Tue, Nov 12, 2019 at 7:29 PM Dave Page <[email protected]> wrote: >> >>> >>> >>> On Tue, Nov 12, 2019 at 1:47 PM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Hackers, >>>> >>>> Attached is the patch to customize the scrollbar styling. A new SASS >>>> variable added - $scrollbar-base-color is added to change the color as per >>>> theme. >>>> Please note, customization of scrollbar works only in webkit browsers >>>> like Chrome, Safari. Mozilla does not have any way to customize. >>>> >>> >>> That looks much nicer :-). >>> >>> One more issue I just spotted - I'm guessing it's specific to Alertify >>> dialogues: >>> >>> [image: Screenshot 2019-11-12 at 13.57.34.png] >>> >> This is your browser autofill which is changing the color and not the >> issue with the dialogs. >> >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* Attachments: [image/png] Screenshot 2019-11-12 at 13.57.34.png (24.3K, 3-Screenshot%202019-11-12%20at%2013.57.34.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-20 06:28 Aditya Toshniwal <[email protected]> parent: Akshay Joshi <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Aditya Toshniwal @ 2019-11-20 06:28 UTC (permalink / raw) To: Akshay Joshi <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Hi Hackers, pgadmin.themes.json is created in web/pgadmin/misc/themes on "yarn run bundle" and is copied to generated directory also. This file is required for themes to show up. Currently, pgadmin.themes.json file is referred from web/pgadmin/misc/themes directory by the app. It is better to refer from generated directory instead so that it is not missed in the pgAdmin distribution phase. The pgAdmin 4.15 wheel distro is not having this file in web/pgadmin/misc/themes directory and so themes are not available in it. Attached is the patch to fix this. On Wed, Nov 13, 2019 at 11:36 AM Akshay Joshi <[email protected]> wrote: > Thanks, patch applied. > > On Wed, Nov 13, 2019 at 10:46 AM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Hackers, >> >> Attached is the patch to set browser autofill color. I've used primary >> light color to highlight autofill. Note that, this works only on webkit >> browsers. >> Kindly review. >> >> On Wed, Nov 13, 2019 at 10:03 AM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Dave, >>> >>> On Tue, Nov 12, 2019 at 7:29 PM Dave Page <[email protected]> wrote: >>> >>>> >>>> >>>> On Tue, Nov 12, 2019 at 1:47 PM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> Hi Hackers, >>>>> >>>>> Attached is the patch to customize the scrollbar styling. A new SASS >>>>> variable added - $scrollbar-base-color is added to change the color as per >>>>> theme. >>>>> Please note, customization of scrollbar works only in webkit browsers >>>>> like Chrome, Safari. Mozilla does not have any way to customize. >>>>> >>>> >>>> That looks much nicer :-). >>>> >>>> One more issue I just spotted - I'm guessing it's specific to Alertify >>>> dialogues: >>>> >>>> [image: Screenshot 2019-11-12 at 13.57.34.png] >>>> >>> This is your browser autofill which is changing the color and not the >>> issue with the dialogs. >>> >>>> >>>> >>>> -- >>>> Dave Page >>>> Blog: http://pgsnake.blogspot.com >>>> Twitter: @pgsnake >>>> >>>> EnterpriseDB UK: http://www.enterprisedb.com >>>> The Enterprise PostgreSQL Company >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > > *Sr. Software Architect* > *EnterpriseDB Software India Private Limited* > *Mobile: +91 976-788-8246* > -- Thanks and Regards, Aditya Toshniwal Sr. Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" Attachments: [image/png] Screenshot 2019-11-12 at 13.57.34.png (24.3K, 3-Screenshot%202019-11-12%20at%2013.57.34.png) download | view image [application/octet-stream] RM4348.part6.patch (520B, 4-RM4348.part6.patch) download | inline diff: diff --git a/web/pgadmin/misc/themes/__init__.py b/web/pgadmin/misc/themes/__init__.py index 301f0f665..37559da16 100644 --- a/web/pgadmin/misc/themes/__init__.py +++ b/web/pgadmin/misc/themes/__init__.py @@ -4,8 +4,10 @@ from pgadmin.utils.preferences import Preferences def get_all_themes(): + # Themes file is copied in generated directory theme_file_path = os.path.join( os.path.dirname(os.path.realpath(__file__)), + '../../static/js/generated', 'pgadmin.themes.json' ) ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-20 09:37 Akshay Joshi <[email protected]> parent: Aditya Toshniwal <[email protected]> 0 siblings, 1 reply; 31+ messages in thread From: Akshay Joshi @ 2019-11-20 09:37 UTC (permalink / raw) To: Aditya Toshniwal <[email protected]>; +Cc: Dave Page <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Thanks, patch applied. On Wed, Nov 20, 2019 at 11:59 AM Aditya Toshniwal < [email protected]> wrote: > Hi Hackers, > > pgadmin.themes.json is created in web/pgadmin/misc/themes on "yarn run > bundle" and is copied to generated directory also. This file is required > for themes to show up. > Currently, pgadmin.themes.json file is referred > from web/pgadmin/misc/themes directory by the app. It is better to refer > from generated directory instead so that it is not missed in the pgAdmin > distribution phase. The pgAdmin 4.15 wheel distro is not having this file > in web/pgadmin/misc/themes directory and so themes are not available in it. > Attached is the patch to fix this. > > > On Wed, Nov 13, 2019 at 11:36 AM Akshay Joshi < > [email protected]> wrote: > >> Thanks, patch applied. >> >> On Wed, Nov 13, 2019 at 10:46 AM Aditya Toshniwal < >> [email protected]> wrote: >> >>> Hi Hackers, >>> >>> Attached is the patch to set browser autofill color. I've used primary >>> light color to highlight autofill. Note that, this works only on webkit >>> browsers. >>> Kindly review. >>> >>> On Wed, Nov 13, 2019 at 10:03 AM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Dave, >>>> >>>> On Tue, Nov 12, 2019 at 7:29 PM Dave Page <[email protected]> wrote: >>>> >>>>> >>>>> >>>>> On Tue, Nov 12, 2019 at 1:47 PM Aditya Toshniwal < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Hackers, >>>>>> >>>>>> Attached is the patch to customize the scrollbar styling. A new SASS >>>>>> variable added - $scrollbar-base-color is added to change the color as per >>>>>> theme. >>>>>> Please note, customization of scrollbar works only in webkit browsers >>>>>> like Chrome, Safari. Mozilla does not have any way to customize. >>>>>> >>>>> >>>>> That looks much nicer :-). >>>>> >>>>> One more issue I just spotted - I'm guessing it's specific to Alertify >>>>> dialogues: >>>>> >>>>> [image: Screenshot 2019-11-12 at 13.57.34.png] >>>>> >>>> This is your browser autofill which is changing the color and not the >>>> issue with the dialogs. >>>> >>>>> >>>>> >>>>> -- >>>>> Dave Page >>>>> Blog: http://pgsnake.blogspot.com >>>>> Twitter: @pgsnake >>>>> >>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> Thanks and Regards, >>> Aditya Toshniwal >>> Sr. Software Engineer | EnterpriseDB India | Pune >>> "Don't Complain about Heat, Plant a TREE" >>> >> >> >> -- >> *Thanks & Regards* >> *Akshay Joshi* >> >> *Sr. Software Architect* >> *EnterpriseDB Software India Private Limited* >> *Mobile: +91 976-788-8246* >> > > > -- > Thanks and Regards, > Aditya Toshniwal > Sr. Software Engineer | EnterpriseDB India | Pune > "Don't Complain about Heat, Plant a TREE" > -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* Attachments: [image/png] Screenshot 2019-11-12 at 13.57.34.png (24.3K, 3-Screenshot%202019-11-12%20at%2013.57.34.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
* Re: [pgAdmin][RM4348] Theme options in pgAdmin and dark theme @ 2019-11-20 12:10 Dave Page <[email protected]> parent: Akshay Joshi <[email protected]> 0 siblings, 0 replies; 31+ messages in thread From: Dave Page @ 2019-11-20 12:10 UTC (permalink / raw) To: Akshay Joshi <[email protected]>; +Cc: Aditya Toshniwal <[email protected]>; pgadmin-hackers; Ashesh Vashi <[email protected]> Thanks all! On Wed, Nov 20, 2019 at 4:37 AM Akshay Joshi <[email protected]> wrote: > Thanks, patch applied. > > On Wed, Nov 20, 2019 at 11:59 AM Aditya Toshniwal < > [email protected]> wrote: > >> Hi Hackers, >> >> pgadmin.themes.json is created in web/pgadmin/misc/themes on "yarn run >> bundle" and is copied to generated directory also. This file is required >> for themes to show up. >> Currently, pgadmin.themes.json file is referred >> from web/pgadmin/misc/themes directory by the app. It is better to refer >> from generated directory instead so that it is not missed in the pgAdmin >> distribution phase. The pgAdmin 4.15 wheel distro is not having this file >> in web/pgadmin/misc/themes directory and so themes are not available in it. >> Attached is the patch to fix this. >> >> >> On Wed, Nov 13, 2019 at 11:36 AM Akshay Joshi < >> [email protected]> wrote: >> >>> Thanks, patch applied. >>> >>> On Wed, Nov 13, 2019 at 10:46 AM Aditya Toshniwal < >>> [email protected]> wrote: >>> >>>> Hi Hackers, >>>> >>>> Attached is the patch to set browser autofill color. I've used primary >>>> light color to highlight autofill. Note that, this works only on webkit >>>> browsers. >>>> Kindly review. >>>> >>>> On Wed, Nov 13, 2019 at 10:03 AM Aditya Toshniwal < >>>> [email protected]> wrote: >>>> >>>>> Hi Dave, >>>>> >>>>> On Tue, Nov 12, 2019 at 7:29 PM Dave Page <[email protected]> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Tue, Nov 12, 2019 at 1:47 PM Aditya Toshniwal < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Hi Hackers, >>>>>>> >>>>>>> Attached is the patch to customize the scrollbar styling. A new SASS >>>>>>> variable added - $scrollbar-base-color is added to change the color as per >>>>>>> theme. >>>>>>> Please note, customization of scrollbar works only in webkit >>>>>>> browsers like Chrome, Safari. Mozilla does not have any way to customize. >>>>>>> >>>>>> >>>>>> That looks much nicer :-). >>>>>> >>>>>> One more issue I just spotted - I'm guessing it's specific to >>>>>> Alertify dialogues: >>>>>> >>>>>> [image: Screenshot 2019-11-12 at 13.57.34.png] >>>>>> >>>>> This is your browser autofill which is changing the color and not the >>>>> issue with the dialogs. >>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Dave Page >>>>>> Blog: http://pgsnake.blogspot.com >>>>>> Twitter: @pgsnake >>>>>> >>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>> The Enterprise PostgreSQL Company >>>>>> >>>>> >>>>> >>>>> -- >>>>> Thanks and Regards, >>>>> Aditya Toshniwal >>>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>>> "Don't Complain about Heat, Plant a TREE" >>>>> >>>> >>>> >>>> -- >>>> Thanks and Regards, >>>> Aditya Toshniwal >>>> Sr. Software Engineer | EnterpriseDB India | Pune >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> *Thanks & Regards* >>> *Akshay Joshi* >>> >>> *Sr. Software Architect* >>> *EnterpriseDB Software India Private Limited* >>> *Mobile: +91 976-788-8246* >>> >> >> >> -- >> Thanks and Regards, >> Aditya Toshniwal >> Sr. Software Engineer | EnterpriseDB India | Pune >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > > *Sr. Software Architect* > *EnterpriseDB Software India Private Limited* > *Mobile: +91 976-788-8246* > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company Attachments: [image/png] Screenshot 2019-11-12 at 13.57.34.png (24.3K, 3-Screenshot%202019-11-12%20at%2013.57.34.png) download | view image ^ permalink raw reply [nested|flat] 31+ messages in thread
end of thread, other threads:[~2019-11-20 12:10 UTC | newest] Thread overview: 31+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2019-11-06 07:02 [pgAdmin][RM4348] Theme options in pgAdmin and dark theme Aditya Toshniwal <[email protected]> 2019-11-07 13:08 ` Aditya Toshniwal <[email protected]> 2019-11-07 13:25 ` Akshay Joshi <[email protected]> 2019-11-07 14:18 ` Dave Page <[email protected]> 2019-11-07 14:26 ` Dave Page <[email protected]> 2019-11-11 07:01 ` Aditya Toshniwal <[email protected]> 2019-11-11 09:08 ` Dave Page <[email protected]> 2019-11-11 09:30 ` Aditya Toshniwal <[email protected]> 2019-11-11 09:37 ` Aditya Toshniwal <[email protected]> 2019-11-11 10:12 ` Aditya Toshniwal <[email protected]> 2019-11-11 11:55 ` Aditya Toshniwal <[email protected]> 2019-11-11 13:22 ` Akshay Joshi <[email protected]> 2019-11-11 15:03 ` Dave Page <[email protected]> 2019-11-11 15:11 ` Aditya Toshniwal <[email protected]> 2019-11-11 15:42 ` Dave Page <[email protected]> 2019-11-12 04:59 ` Aditya Toshniwal <[email protected]> 2019-11-12 09:17 ` Dave Page <[email protected]> 2019-11-12 09:50 ` Aditya Toshniwal <[email protected]> 2019-11-12 09:55 ` Dave Page <[email protected]> 2019-11-12 10:00 ` Avin Kavish <[email protected]> 2019-11-12 10:11 ` Aditya Toshniwal <[email protected]> 2019-11-12 12:25 ` Akshay Joshi <[email protected]> 2019-11-12 13:46 ` Aditya Toshniwal <[email protected]> 2019-11-12 13:59 ` Dave Page <[email protected]> 2019-11-13 04:33 ` Aditya Toshniwal <[email protected]> 2019-11-13 05:15 ` Aditya Toshniwal <[email protected]> 2019-11-13 06:06 ` Akshay Joshi <[email protected]> 2019-11-20 06:28 ` Aditya Toshniwal <[email protected]> 2019-11-20 09:37 ` Akshay Joshi <[email protected]> 2019-11-20 12:10 ` Dave Page <[email protected]> 2019-11-12 14:10 ` Akshay Joshi <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox