Compare commits

...

964 Commits

Author SHA1 Message Date
Arik Fraimovich
43a66fae82 Merge branch 'master' of github.com:getredash/redash 2018-04-16 11:21:24 +03:00
Arik Fraimovich
ed739e1292 Update version 2018-04-16 11:21:14 +03:00
Arik Fraimovich
212c7eed46 Merge pull request #2457 from kyoshidajp/fix_td_syntax_error
Fix syntax error
2018-04-15 10:45:46 +03:00
Katsuhiko YOSHIDA
ce50042407 Fix syntax error 2018-04-14 09:46:05 +09:00
Arik Fraimovich
e17e36f9e4 Update CHANGELOG.md 2018-04-12 15:40:32 +03:00
Arik Fraimovich
0bc570d741 Merge pull request #2407 from alon710/master
adds mattermost destination
2018-04-12 15:17:58 +03:00
Arik Fraimovich
7465c74392 Merge pull request #2428 from toru-takahashi/master
Improve a query failure message for Treasure Data Runner
2018-04-12 15:14:24 +03:00
Arik Fraimovich
a8a91109ee Merge pull request #2452 from kravets-levko/bug/firefox-widget-height-continuously-increases
Firefox: widget height continuously increases
2018-04-11 22:29:54 +03:00
Arik Fraimovich
add60c2552 Merge pull request #2451 from kravets-levko/bug/page-layout-lost
Wrong page layout if route change was cancelled
2018-04-11 22:29:26 +03:00
Levko Kravets
4dc8826beb Firefox, dashboard, auto-height feature: in some cases (loader shown and widget has params, but possibly other cases) widget start continuously growing 2018-04-10 21:08:27 +03:00
Levko Kravets
d35bbdb257 getredash/redash#2401 Wrong page layout if route change cancelled 2018-04-10 15:42:05 +03:00
Arik Fraimovich
8636c3310d Merge pull request #2449 from getredash/botocore-update
Update botocore version.
2018-04-09 23:02:13 +03:00
Arik Fraimovich
eddd9419a4 Merge pull request #2450 from getredash/map-names
Update map visualizations names.
2018-04-09 22:57:40 +03:00
Arik Fraimovich
2d08314982 Update Choropleth visualization name. 2018-04-09 22:57:22 +03:00
Arik Fraimovich
28d69b0c60 Update map visualizations names. 2018-04-09 22:56:10 +03:00
Arik Fraimovich
7f76400550 Update botocore version.
Fixes #2400.
2018-04-09 22:55:20 +03:00
Arik Fraimovich
f551b348a7 Merge pull request #2447 from getredash/patches
Fixes to new dashboard layout engine
2018-04-09 09:47:43 +03:00
Toru Takahashi
b1567f4d8d Add safe guarding with .get() 2018-04-09 01:29:18 +09:00
Arik Fraimovich
d18c94a587 Merge pull request #2420 from fmy/patch-1
use MongoClient for ReplicaSet
2018-04-08 15:43:56 +03:00
Arik Fraimovich
f75c142981 Merge pull request #2434 from tonyjiangh/fix/funnel_typo
Fix funnel setting page typo
2018-04-08 15:39:09 +03:00
Arik Fraimovich
0959281a01 Merge pull request #2443 from deecay/choropleth-fullscreen
Choropleth: Add fullscreen control
2018-04-08 15:38:07 +03:00
Arik Fraimovich
96a0a512f3 Merge pull request #2446 from getredash/patches
Update pymongo version to support newer MongoDB versions
2018-04-08 15:33:06 +03:00
Levko Kravets
9899abfe6a Fix: some legacy dashboards got their widgets misplaced when using auto height. 2018-04-08 15:32:24 +03:00
Arik Fraimovich
d02386488c Fix: dashboard refresh was broken due to introduction of track by to ng-repeat. 2018-04-08 15:32:14 +03:00
Arik Fraimovich
5f25bc480c Update pymongo version to support newer MongoDB versions 2018-04-08 15:26:35 +03:00
deecay
07b5003c6f Map: Add fullscreen control 2018-04-07 14:37:44 +09:00
Arik Fraimovich
8aba5db862 Merge pull request #2441 from tnetennba3/pronoun-fix
Changed "his" to "their"
2018-04-06 21:22:44 +03:00
deecay
b3ee25079e Choropleth: Add fullscreen control 2018-04-06 13:08:28 -04:00
tnetennba3
85179fd07b Changed "his" to "their" 2018-04-05 16:27:20 +01:00
Hao Jiang
390360cc4e Fix funnel setting page typo 2018-04-03 08:11:53 +09:00
Toru Takahashi
7edd5b9731 Improve a query failure message for Treasure Data Runner 2018-04-01 15:45:28 +09:00
Fumiya Karasawa
c681a50b19 use MongoClient for ReplicaSet
MongoReplicaSetClient is deprecated and will be removed in future.

See http://api.mongodb.com/python/current/api/pymongo/mongo_replica_set_client.html
```
MongoReplicaSetClient will be removed in a future version of PyMongo.

Changed in version 3.0: MongoClient is now the one and only client class for a standalone server, mongos, or replica set. It includes the functionality that had been split into MongoReplicaSetClient: it can connect to a replica set, discover all its members, and monitor the set for stepdowns, elections, and reconfigs.
```
2018-03-29 17:46:27 +09:00
Arik Fraimovich
8df2391a77 Merge pull request #2376 from valentin2105/master
Fix docker-entrypoint broke for other name than "postgres"
2018-03-27 09:16:14 +03:00
Valentin Ouvrard
0982e56ed0 fix entrypoint create_table() func. 2018-03-26 10:01:58 +11:00
Arik Fraimovich
0cb995bb35 Merge pull request #2413 from getredash/fix-bq
Fix: (BigQuery) UDF URI was used even if empty
2018-03-25 14:39:30 +03:00
Arik Fraimovich
d34d58bf33 Merge pull request #2374 from kravets-levko/feature/choropleth
Choropleth visualization
2018-03-25 14:34:45 +03:00
Arik Fraimovich
c19ff41392 Merge pull request #2406 from kravets-levko/feature/dashboard-gridstack
Replace dashboard engine with gridstack
2018-03-25 14:27:36 +03:00
Arik Fraimovich
abb6e56570 Fix: UDF URI was used even if empty 2018-03-25 14:22:36 +03:00
Arik Fraimovich
a7bba81969 Merge pull request #2412 from deecay/box-hover-fix
Fix: Box plot hover
2018-03-24 21:39:05 +03:00
deecay
6356a75478 Fix: Box plot hover 2018-03-24 20:57:04 +09:00
Levko Kravets
61ef5f9a02 gridstack: add comments, exclude lodash and moment locales from bundle 2018-03-23 19:50:55 +02:00
Levko Kravets
2fbf8926c4 gridstack: optimizations and bugfixes 2018-03-23 19:50:55 +02:00
Levko Kravets
ce9e3fcb35 Replace dashboard engine with gridstack 2018-03-23 19:50:28 +02:00
Arik Fraimovich
ffab6d5ec9 Merge pull request #2411 from getredash/patches
Multiple V4 regression fixes
2018-03-23 19:34:07 +03:00
Levko Kravets
be9bcaeb3d Multiple fixes:
* Fix: line chart with category x-axis: when some values missing, wrong hints displayed on hover
* Fix: second Y-axis not displayed when stacking enabled
* Set of dashboard improvements and bug fixes
    - set minimal height of widgets to 1 (was 4)
    - bug: for some widgets auto-height wasn't calculated properly (sometimess too small, sometimes too large)
    - bug: for small widgets, top-right menu was cut to widgets bounds
    - bug: with opened top-right menu widgets with auto-height started "dancing"
    - bug: at some point auto-height feature was disabling by itself (in fact - it depends on `angular-grindter`s internal processes)
    - fix: widget with empty contents had extra 40px of white space (paddings of container)
* Add scrollbars to pivot table widgets
* Fix: 100% CPU loading caused page lags
2018-03-23 19:25:21 +03:00
Arik Fraimovich
d140e0418f Fix: dashboard was reloading when clicking on refresh. 2018-03-23 19:22:23 +03:00
Arik Fraimovich
6685cb9e21 Load dashboard refresh rate from URL. 2018-03-23 19:22:06 +03:00
Arik Fraimovich
2f24cff33c Plotly: increase Y value accuracy. 2018-03-23 19:20:28 +03:00
Arik Fraimovich
193a6cce3f Fix: only try merging query object if it exists. 2018-03-23 19:18:28 +03:00
Arik Fraimovich
17951504f0 Change: apply time limit to alert status checking task. 2018-03-23 19:17:57 +03:00
Arik Fraimovich
ccffe70359 MSSQL Fix: UUID fields were detected as booleans. 2018-03-23 19:17:13 +03:00
Arik Fraimovich
503d6cecd0 DynamoDB fix: always return counter as a number rather than string. 2018-03-23 19:16:54 +03:00
Arik Fraimovich
6fbe06d262 Report Celery queue size. 2018-03-23 19:16:24 +03:00
Arik Fraimovich
2394f3fbe5 Add events property to Organization model. 2018-03-23 19:16:14 +03:00
Arik Fraimovich
cb815f3c8e Render safe HTML by default in tables to remain backward compatible. 2018-03-23 19:15:47 +03:00
Arik Fraimovich
e6f6c02f90 Fix: saving widget was sending too much data to the server, sometimes making saving fail. 2018-03-23 19:13:40 +03:00
Arik Fraimovich
565e66715f Fix: Fork button was shown in data only view, but wasn't working. 2018-03-23 19:13:15 +03:00
Arik Fraimovich
549de1355a Change: show friendly names in dynamic forms labels. 2018-03-23 19:10:26 +03:00
Arik Fraimovich
d892ed48cc Merge pull request #2387 from idalin/fix_ldap_login
fix no login form in ldap login page #2386
2018-03-22 14:04:30 +02:00
alon710
b96204654b adds mattermost dest 2018-03-22 00:29:49 +02:00
Arik Fraimovich
3c75c2bb60 Update CONTRIBUTING.md 2018-03-21 16:41:02 +02:00
Arik Fraimovich
db020576ed Merge pull request #2385 from kocsmy/fixex/cassandra-scylla-images
Add missing Cassandra and ScyllaDB images
2018-03-19 22:13:48 +02:00
idalin
5a93da3177 fix no login form in ldap login page #2386 2018-03-14 13:59:50 +08:00
Zsolt Kocsmarszky
d16285d239 Add missing images 2018-03-12 20:45:45 +01:00
Arik Fraimovich
0410d834d1 Merge pull request #2382 from deecay/webpack-ignore
Webpack: ignore vim swap files
2018-03-11 15:02:44 +02:00
deecay
b79abf52fd Webpack: ignore vim swap files 2018-03-10 17:48:11 +09:00
Levko Kravets
6a61057813 getredash/redash#2317 CR1
- cache GeoJSON to avoid multiple HTTP requests;
- allow to edit map bounds;
- optimize update map calls (do not re-render it every time);
- UI/X imporvements.
2018-03-08 14:46:09 +02:00
Arik Fraimovich
1a75d49041 Merge pull request #2379 from getredash/fix_empty_states
Change: close metadata database connection early in the execute query Celery task
2018-03-08 11:17:30 +02:00
Arik Fraimovich
c054731794 Change: close metadata database connection early in the execute query
Celery task. This to prevent the task holding an idle connection for
a long period of time, while waiting for the query to finish.
2018-03-08 11:06:15 +02:00
Arik Fraimovich
a824bd5da3 Merge pull request #2378 from getredash/fix_empty_states
Empty state screen fix: show connect data source link only to admins
2018-03-08 09:53:29 +02:00
Arik Fraimovich
e1ff31718e fix circle.yml 2018-03-08 09:46:45 +02:00
Arik Fraimovich
797b5582ac Fix: show connect data source link only to admins 2018-03-08 09:43:30 +02:00
Valentin Ouvrard
452904398f Fix docker-entrypoint broke for Other name than "postgres" 2018-03-08 10:04:29 +11:00
Levko Kravets
517f95fa01 Better resize handling 2018-03-07 09:14:24 +02:00
Levko Kravets
d5ee9cd007 Use data from current record for tooltip and popup contents 2018-03-06 21:40:27 +02:00
Levko Kravets
5918253022 Add option to align legend text
Remove Leaflet attribution
2018-03-06 21:24:39 +02:00
Levko Kravets
2f30dbf645 getredash/redash#2317 Choropleth visualization 2018-03-06 20:42:48 +02:00
Arik Fraimovich
88deb5fc47 Merge pull request #2372 from kravets-levko/fix/dancing-widgets
Fix: dashboard "dancing" widgets (when auto-height enabled)
2018-03-06 15:07:14 +02:00
Levko Kravets
27c7e86297 Fix: dashboard "dancing" widgets (when auto-height enabled) 2018-03-06 14:42:15 +02:00
Arik Fraimovich
051f12c712 Fix tags regex in circle.yml 2018-03-05 12:37:31 +02:00
Arik Fraimovich
f9ab83ed80 Merge pull request #2369 from getredash/query-refresh
Add: configuration for query refresh intervals.
2018-03-05 11:28:40 +02:00
Arik Fraimovich
c24bfe82e0 Update changelog. 2018-03-05 11:22:49 +02:00
Arik Fraimovich
4f27de3252 Add: configuration for query refresh intervals. 2018-03-05 11:22:08 +02:00
Arik Fraimovich
bf86d17d56 Stop spamming Docker Hub 2018-03-04 15:36:14 +02:00
Arik Fraimovich
54e23a7c84 Update CHANGELOG and update version. 2018-03-04 15:11:54 +02:00
Arik Fraimovich
6049e2df17 Merge pull request #2356 from kravets-levko/fix/dashboard-auto-height
Dashboard fixes and improvements
2018-03-04 14:50:48 +02:00
Arik Fraimovich
025af41616 Merge pull request #2260 from Top20Talent/master
Extend the Prometheus query runner to support the range query
2018-03-04 10:57:30 +02:00
Arik Fraimovich
d80f93a59d Merge pull request #2355 from jezdez/glue-table-paginator-upstream
Use a paginator when iterating over glue tables
2018-03-04 10:56:56 +02:00
Arik Fraimovich
5aa4b28d53 Merge pull request #2354 from jezdez/redash-extensions
Add a Redash extension system based on Python entrypoints.
2018-03-04 10:56:08 +02:00
Arik Fraimovich
6a072dd33a Merge pull request #2363 from kravets-levko/bug/query-page-unscrollable
Query page long visualization is unscrollable
2018-03-04 10:53:33 +02:00
Levko Kravets
67995085c6 getredash/redash#2361 2018-03-02 13:12:45 +02:00
Levko Kravets
9295a9d8fb Dashboard: save only changed widgets 2018-03-01 16:28:34 +02:00
Levko Kravets
43cd24927f gridsterAutoHeight: disable auto-height when widget resized by user 2018-03-01 14:46:53 +02:00
Jannis Leidel
6b41644557 Add a Redash extension system based on Python entrypoints.
This is along the lines of what Flask does for CLI plugins:

  http://flask.pocoo.org/docs/0.12/cli/#cli-plugins

The API allows specifying Python callbacks that receive the
Redash Flask app as the only argument and allow extending
the Redash process with the usual Flask API as needed. This
does not cover front-end specific extensions (yet).
2018-02-28 23:37:03 +01:00
Blake Imsland
dceb58cd79 Use a paginator when iterating over glue tables
Without this you only get the first 100 tables in the glue database
2018-02-28 22:10:54 +01:00
Arik Fraimovich
570187fc1f Merge pull request #2353 from kocsmy/fixes/filter-spacing-on-dashboards
Fix small spacing glitch on dashboard widgets
2018-02-28 18:16:09 +02:00
Zsolt Kocsmarszky
ca4663e3a4 fix small spacing glitch on dashboard widgets 2018-02-28 17:08:55 +01:00
Arik Fraimovich
6e097d5cec Merge pull request #2352 from kravets-levko/bug/query-result-column-names
Cast column names to string
2018-02-28 17:08:28 +02:00
Arik Fraimovich
2c95231fd7 Merge pull request #2334 from tonyjiangh/feat/funnel_visualization
Add funnel visualization
2018-02-28 17:06:37 +02:00
Hao Jiang
0d80156eec Rename visualization options for review 2018-02-28 23:44:42 +09:00
Levko Kravets
08c709c2ec getredash/redash#1960 Cast column names to string; code style fixes 2018-02-28 13:28:15 +02:00
Arik Fraimovich
bb28b2f0fb Merge pull request #2350 from getredash/auth
Authentication related settings improvements
2018-02-28 12:16:11 +02:00
Arik Fraimovich
0e4313de52 Merge pull request #2349 from kravets-levko/fix/dashboard-issues
Fix/dashboard issues
2018-02-27 23:22:59 +02:00
Arik Fraimovich
e76e29df24 Merge pull request #2348 from kocsmy/fixes/prometheus-logo
Add missing prometheus and snowflake logos
2018-02-27 23:21:09 +02:00
Arik Fraimovich
d1062ce0c4 Properly generate login URLs. 2018-02-27 23:14:57 +02:00
Arik Fraimovich
9ddf3745b8 Configuration for Google Apps. 2018-02-27 23:10:10 +02:00
Arik Fraimovich
0eefc7b592 join array filter. 2018-02-27 23:09:21 +02:00
Arik Fraimovich
bea035025e Callout sections css. 2018-02-27 23:09:12 +02:00
Arik Fraimovich
33aa7b72b7 Enable debug mode for Flask. 2018-02-27 23:09:00 +02:00
Arik Fraimovich
ca54d23f92 Remove unused LESS code. 2018-02-27 23:08:43 +02:00
Levko Kravets
7d6244a322 Revisit default options; set auto-height for Table viz by default 2018-02-27 18:25:57 +02:00
Levko Kravets
f61a74bbee Fix: 'Cannot read property of null' JS error when going away from dashboard page 2018-02-27 18:25:21 +02:00
Levko Kravets
7d258908c6 getredash/redash#2108 Fix: length limit increased 2018-02-27 18:24:26 +02:00
Zsolt Kocsmarszky
0e53356589 add missing prometheus and snowflake logos 2018-02-27 16:52:33 +01:00
Hao Jiang
aa43dcdb2b Add hover text for full step name 2018-02-27 23:22:41 +09:00
Arik Fraimovich
093c48505a Merge pull request #2347 from kravets-levko/fix/download-dataset-dropup
Fix: download dataset dropup is being cut off
2018-02-27 15:30:57 +02:00
Levko Kravets
c19ef632aa Fix: download dataset dropup is being cut off 2018-02-27 15:24:37 +02:00
Arik Fraimovich
bb1455ec71 Merge pull request #2346 from getredash/auth
Authentication fixes (SAML and login page)
2018-02-26 21:11:52 +02:00
Arik Fraimovich
09af43c4a7 remove unnecessary test. 2018-02-26 20:57:21 +02:00
Arik Fraimovich
35594ecb00 Always show login page and generate URLs with url_for.
Close #1259, #2235.
2018-02-26 20:46:27 +02:00
Arik Fraimovich
3044c77309 Make SAML work in MULTI_ORG mode. 2018-02-26 20:40:28 +02:00
Hao Jiang
0632044573 Handle corner cases 2018-02-26 22:21:05 +09:00
jubel
e6551e9774 remove the type 2018-02-26 14:58:30 +08:00
Arik Fraimovich
11d09b2f09 Fix empty-state logic for MULTI_ORG mode 2018-02-25 11:49:07 +02:00
Arik Fraimovich
8676b846c2 Add support for symlinks in webpack config 2018-02-25 11:13:54 +02:00
Arik Fraimovich
d4f98aa7f7 Merge pull request #2337 from ariarijp/upgrade-sqlparse
Upgrade sqlparse to 0.2.4
2018-02-24 21:29:08 +02:00
Arik Fraimovich
35458e846c Merge pull request #2338 from kravets-levko/fix/table-columns-nowrap
Custom CSS based on column type
2018-02-24 21:28:10 +02:00
jubel
49e9133fed style adjustment 2018-02-24 16:35:10 +08:00
Levko Kravets
5dd76674ff getredash/redash#2215 Custom CSS based on column type 2018-02-23 11:19:07 +02:00
Hao Jiang
8bdd5ff662 Fix sort order 2018-02-23 09:25:04 +09:00
Hao Jiang
9e68b36de6 Add support for selecting column to sort 2018-02-23 09:18:37 +09:00
Hao Jiang
e78bfb2e9a Add support for column mapping 2018-02-23 09:15:56 +09:00
ariarijp
f5d4ca85d8 Upgrade sqlparse to 0.2.4
Add test case for /api/queries/format
2018-02-23 01:24:34 +09:00
Arik Fraimovich
c65b637bc4 Merge pull request #2336 from kravets-levko/fix/settings-tabs-order
Explicitly set order of tabs on Settings page
2018-02-22 15:31:52 +02:00
Levko Kravets
062efe349f Explicitly set order of tabs on Settings page 2018-02-22 15:16:09 +02:00
Arik Fraimovich
696f46d64b Merge pull request #2252 from kocsmy/design/empty-states
Empty states for Home, Dashboards, Queries and Alerts
2018-02-22 11:26:13 +02:00
Arik Fraimovich
42b88d9a32 Ignore archived objects. 2018-02-22 11:04:13 +02:00
Arik Fraimovich
3a840fcc5d Implement empty states logic. 2018-02-22 11:02:12 +02:00
Hao Jiang
a333abcaa5 Use ColorPalette instead 2018-02-22 08:44:39 +09:00
Hao Jiang
d583f6f273 Add funnel visualization 2018-02-21 22:41:31 +09:00
Arik Fraimovich
a1aeb1d614 Merge pull request #2330 from getredash/arikfr-patch-1
Sort widgets by col/row to make sure they are placed correctly
2018-02-21 14:49:10 +02:00
Arik Fraimovich
bd13b78e21 Merge pull request #2320 from kravets-levko/bug/few-bugfixes
Few bugfixes
2018-02-20 22:41:05 +02:00
Arik Fraimovich
4d44be76ac Create <empty-state> component. 2018-02-20 22:29:07 +02:00
Levko Kravets
8cd758cfb6 Update 'absoluteUrl' function 2018-02-20 22:13:48 +02:00
Arik Fraimovich
9a1077d192 Merge branch 'master' into design/empty-states 2018-02-20 21:09:43 +02:00
Arik Fraimovich
bc4f174e22 Sort widgets by col/row to make sure they are placed correctly 2018-02-20 20:45:32 +02:00
Levko Kravets
046595825c Rename: fullUrl -> absoluteUrl 2018-02-19 23:19:03 +02:00
Arik Fraimovich
e0c5eabdd5 Merge pull request #2324 from kravets-levko/bug/type-of-first-table
User shouldn't be able to change the type of the first table
2018-02-19 23:07:26 +02:00
Arik Fraimovich
06e9d192ef Merge pull request #2325 from benmanns/patch-1
Reduce restart to unless-stopped for Redis and Postgres
2018-02-19 22:33:43 +02:00
Arik Fraimovich
906c8fc767 Merge pull request #2282 from kocsmy/design/improve-default-visualisation-colors
Improve visualisation colors
2018-02-19 22:32:37 +02:00
Benjamin Manns
6149e00c2f Reduce restart to unless-stopped for Redis and Postgres
`restart: always` will cause containers to restart when the machine is rebooted or the docker process restarts. Setting this to `unless-stopped` will mean the container will restart only if the docker process/computer was rebooted without stopping the container first. Otherwise, running `docker-compose stop` and rebooting will cause the docker containers all to start again (and goodbye laptop battery!)

We might also consider `restart: on-failures` which would mean that rebooting would _not_ cause containers to start again unless requested via `docker-compose up`.
2018-02-19 11:07:02 -05:00
Zsolt Kocsmarszky
b053770998 less vivid colors fo charts 2018-02-18 19:55:00 +01:00
Zsolt Kocsmarszky
45b380ca00 Merge branch 'master' into design/improve-default-visualisation-colors 2018-02-18 18:05:56 +01:00
Arik Fraimovich
631dad11d6 Merge pull request #2319 from kravets-levko/feature/server-pages-redesign
Redesign of all pages that are rendered by backend code
2018-02-18 14:53:49 +02:00
Levko Kravets
9647c37285 getredash/redash#2312 2018-02-18 14:08:44 +02:00
Zsolt Kocsmarszky
9e5f749556 Change default visualization colors 2018-02-17 18:21:11 +01:00
Zsolt Kocsmarszky
c69795c0cd Merge branch 'master' into design/improve-default-visualisation-colors 2018-02-17 17:47:02 +01:00
Levko Kravets
339f5537c6 Remove code related to hidden text widgets + UI improvements 2018-02-16 21:25:29 +02:00
Levko Kravets
d2c5be5bd5 Replace with window.location 2018-02-16 21:04:45 +02:00
Levko Kravets
21b753f9b5 Bug fixed: empty page when trying to open public dashboard 2018-02-16 20:59:53 +02:00
Levko Kravets
a28a6ea127 Bug: Invite user / Reset password links should be full (include shema and host) 2018-02-16 20:39:18 +02:00
Levko Kravets
38da3e9fef Add SSO login buttons to invite user page; UI fixes 2018-02-16 13:32:40 +02:00
Levko Kravets
f1aad2545e redesign of all pages that are rendered by backend code 2018-02-15 21:49:11 +02:00
Arik Fraimovich
927599cf00 Mark current version as v4-beta 2018-02-14 17:06:51 +02:00
Arik Fraimovich
eae3b1dc0f Update changelog for v4 2018-02-14 16:26:44 +02:00
Arik Fraimovich
d6cc7489b1 Merge pull request #2311 from kravets-levko/feature/add-widget-dialog-update
Add Widget Dialog UX Update
2018-02-14 12:52:12 +02:00
Arik Fraimovich
1b6aaeb663 Merge pull request #2314 from kocsmy/design/add-csv-image
Add CSV image for data source images
2018-02-14 10:17:24 +02:00
Zsolt Kocsmarszky
5e72e6bf1a add CSV image 2018-02-14 00:54:39 +01:00
Levko Kravets
fa03e12b96 getredash/redash#2214 CR1 2018-02-13 23:39:10 +02:00
Arik Fraimovich
adb6a1adee Merge pull request #2313 from kravets-levko/bug/cannot-remove-widgets
Fix: widget is not removed from dashboard, only after page refresh
2018-02-13 22:47:30 +02:00
Levko Kravets
8ec0cda10b Fix: widget is not removed from dashboard, only after page refresh 2018-02-13 21:53:21 +02:00
Levko Kravets
41789fa1db getredash/redash#2214 Add Widget Dialog UX Update 2018-02-13 20:47:30 +02:00
Arik Fraimovich
17f3b1e92d Merge pull request #1692 from kakakakakku/fix-redis-metrics
Fixed monitoring metrics for Redis
2018-02-11 15:54:58 +02:00
Arik Fraimovich
aa06e44ff8 Merge pull request #2099 from ariarijp/fix/create_db
Fix create_db command of docker-entrypoint
2018-02-11 15:48:56 +02:00
Arik Fraimovich
94295788ec Merge pull request #2248 from sjakthol/multiorg-header-login
feat: make trusted header authentication compatible with multiorg mode
2018-02-11 15:41:46 +02:00
Arik Fraimovich
5aa620d1ec Merge pull request #2309 from getredash/fix_params
Add: API to return events
2018-02-11 12:11:32 +02:00
Arik Fraimovich
2560d887f0 Fix import call 2018-02-11 12:04:12 +02:00
Arik Fraimovich
f14388f770 Require admin for events GET call. 2018-02-11 11:57:46 +02:00
Arik Fraimovich
7e4cb4c543 Add: API to return events 2018-02-11 11:56:10 +02:00
Arik Fraimovich
953efc472f Merge pull request #2308 from getredash/fix_params
Fix: parameters list was resetting when adding a new parameter
2018-02-11 11:55:47 +02:00
Arik Fraimovich
5343dd9acf Fix: parameters list was resetting when adding a new parameter 2018-02-11 11:48:12 +02:00
Arik Fraimovich
29c675b553 Update RDS CA bundle 2018-02-11 11:40:56 +02:00
Arik Fraimovich
e328b783f3 Make the S3 staging path label mention query results 2018-02-11 10:26:25 +02:00
Arik Fraimovich
e183b51702 Merge pull request #2307 from getredash/mognodb_nested_fields
Add an option to set a common prefix to the backend logs.
2018-02-10 22:09:39 +02:00
Arik Fraimovich
a82239d719 Add an option to set a common prefix to the backend logs. 2018-02-10 22:08:01 +02:00
Arik Fraimovich
12f9c1a159 Merge pull request #2306 from getredash/mognodb_nested_fields
Add Prometheus to the default query runners list.
2018-02-10 22:06:42 +02:00
Arik Fraimovich
037f8b7183 Add Prometheus to the default query runners list. 2018-02-10 22:05:59 +02:00
Arik Fraimovich
ce69d3069b Merge pull request #2305 from getredash/mognodb_nested_fields
Update botocore version to support Glue
2018-02-10 22:05:52 +02:00
Arik Fraimovich
66a8941a23 Update botocore version to support Glue 2018-02-10 22:04:36 +02:00
Arik Fraimovich
94a770ae7a Merge pull request #2304 from getredash/mognodb_nested_fields
Close #1199: support for nested fields in MongoDB results
2018-02-10 22:03:04 +02:00
Arik Fraimovich
0bbfa8bb8e remove whitespaces 2018-02-10 22:00:55 +02:00
Arik Fraimovich
5ad893a266 Close #1199: support for nested fields in MongoDB results 2018-02-10 21:55:06 +02:00
Arik Fraimovich
790ac2ec54 Merge pull request #2303 from kravets-levko/fix/webpack-config-3
Fix webpack config (server-rendered pages); fix assets URLs
2018-02-09 22:34:32 +02:00
Levko Kravets
ceb1c62528 Fix webpack config (server-rendered pages); fix assets URLs 2018-02-09 19:16:48 +02:00
Arik Fraimovich
e460c18d4a Merge pull request #2301 from kravets-levko/fix/webpack-config-2
Fix webpack config and some assets URLs
2018-02-08 20:27:06 +02:00
Levko Kravets
182d2d040e Fix config; fix assets URLs 2018-02-08 16:39:36 +02:00
Levko Kravets
878908cbf7 Fix webpack config and some assets URLs 2018-02-08 14:07:26 +02:00
Arik Fraimovich
f703a602f0 Merge pull request #2266 from javier-sanz/quotedPasswords
Url password can have quoted special characters.
2018-02-08 11:49:24 +02:00
Arik Fraimovich
07d8babab4 Merge pull request #2296 from getredash/webpack
Assets serving changes
2018-02-08 11:39:36 +02:00
Arik Fraimovich
5e97834b80 Fix upgrade script to support CI builds 2018-02-08 11:35:12 +02:00
Arik Fraimovich
943dcf1da3 Merge pull request #2281 from kravets-levko/feature/cohort-improvements
Cohort visualization improvements
2018-02-08 11:27:35 +02:00
Arik Fraimovich
4090875fcd Merge pull request #2257 from kocsmy/design/error-pages
Error screens
2018-02-08 09:38:05 +02:00
Arik Fraimovich
e69f8fa009 Show standard error messages. 2018-02-08 09:33:03 +02:00
Arik Fraimovich
d6eb8f436f Handle unknown routes in Angular by showing Page Not Found error 2018-02-08 09:33:03 +02:00
Zsolt Kocsmarszky
69b3ea4715 Rearrange the error-state box and place it middle 2018-02-08 09:33:03 +02:00
Zsolt Kocsmarszky
8f52f51e91 Fix content to center 2018-02-08 09:33:03 +02:00
Zsolt Kocsmarszky
a668416dae Nicer error message and box with icon 2018-02-08 09:33:03 +02:00
Arik Fraimovich
96ad3aaa25 Use jQuery from npm packages 2018-02-07 23:08:03 +02:00
Arik Fraimovich
4e5c425932 Merge pull request #2297 from kravets-levko/bug/filter-dropdown
Filters dropdown is "trapped" inside the widget area
2018-02-07 21:09:01 +02:00
Arik Fraimovich
549416694f Fix: login_required decorator was misplaced 2018-02-07 21:07:04 +02:00
Levko Kravets
9532540b54 getredash/redash#2295 2018-02-07 20:22:02 +02:00
Arik Fraimovich
a6cf7643c9 Fix webpack-dev-server setup 2018-02-07 17:18:38 +02:00
Arik Fraimovich
568b3e392b Switch back to single assets path. 2018-02-07 16:43:48 +02:00
Arik Fraimovich
40ffa349f0 Load all assets from a single directory (Webpack's output path). Also make sure all assets URLs are prefixed with /static/ and remove our custom assets serving handler. 2018-02-07 16:43:25 +02:00
Arik Fraimovich
95f4d993b7 Added webpack-manifest plugin 2018-02-07 14:15:21 +02:00
Levko Kravets
f303bc7f53 getredash/redash#2163 CR1 2018-02-07 11:04:47 +02:00
Zsolt Kocsmárszky
d81af63f24 Merge pull request #2291 from kravets-levko/fix/query-refresh-schedule
Make "refresh schedule" part of the rest of the query metadata
2018-02-06 12:31:21 +01:00
Arik Fraimovich
722678f6d1 Merge pull request #2278 from getredash/dashboards_migrations
Move widget position logic migration to the backend and remove some unused code.
2018-02-06 08:44:31 +02:00
Arik Fraimovich
c0778809ab Merge pull request #2288 from kocsmy/design/new-user-layout
New user layout improvement
2018-02-05 13:41:43 +02:00
Arik Fraimovich
8679cfefbf Merge pull request #2289 from kocsmy/design/visualisation-editor-improvements
Improve visualisation editor
2018-02-05 13:37:35 +02:00
Levko Kravets
5064744f8b getredash/redash#2279 2018-02-05 13:35:50 +02:00
Arik Fraimovich
ce15f5665c Merge pull request #2290 from kravets-levko/bug/table-html-escape
Don't escape values in non-html mode
2018-02-05 13:12:44 +02:00
Levko Kravets
8d973d847d getredash/redash#1731 Don't escape values in non-html mode 2018-02-05 13:04:11 +02:00
Zsolt Kocsmarszky
fd030e4d77 Further improve design details 2018-02-05 02:22:05 +01:00
Zsolt Kocsmarszky
6d12794c96 better layout for the visualisation editor 2018-02-05 02:14:30 +01:00
Zsolt Kocsmarszky
af4ecb5085 Nicer layout for add user + typoe fix 2018-02-05 01:52:31 +01:00
Arik Fraimovich
a5904a6e50 Merge pull request #2287 from kravets-levko/feature/table-link-column
Table visualization: "Link" column type
2018-02-04 15:26:17 +02:00
Levko Kravets
361b68d857 Table viz: Link column CR1 2018-02-04 15:25:39 +02:00
Levko Kravets
55d47ede08 Table viz: Link column type 2018-02-04 15:06:08 +02:00
Arik Fraimovich
d97b8d0958 Cast totalBytesProcessed to int. 2018-02-03 21:14:50 +02:00
Zsolt Kocsmarszky
2ed446be80 less neon green 2018-02-02 22:41:47 +01:00
Arik Fraimovich
178f46e5b1 Merge pull request #2284 from getredash/bigquery
Improvements to BigQuery query runner
2018-02-02 23:19:51 +02:00
Arik Fraimovich
d01dfe4bf7 BigQuery: show amout of data scanned. 2018-02-02 23:18:27 +02:00
Arik Fraimovich
2f8db2531f BigQuery: properly handle RECORD fields (show nested fields).
Closes #1413.
2018-02-02 23:18:04 +02:00
Sami Jaktholm
4a719fcb39 followup: coding style fixes to tests 2018-02-02 20:17:53 +02:00
Sami Jaktholm
a96b0b6e4c feat: make trusted header authentication compatible with multiorg mode
The previous implementation of remote header login did not
support the multiorg mode of Re:Dash. These changes modify
the trusted header authentication to expose a per-organization
login endpoint that logs users in the specified organization.

The feature itself is not that interesting as multiorg is pretty
much impossible to use in a standalone Re:Dash installation. What's
more interesting is that all tests are executed in multiorg mode. It's
not possible to write tests for the trusted header authentication if
the method does not support multiorg mode.

To make benefits of these changes more concrete, some tests were
written to test the basic functionality of trusted header
authentication.
2018-02-02 20:17:53 +02:00
Arik Fraimovich
daea3337b0 Merge pull request #2283 from kravets-levko/feature/table-image-column
Table visualization: "Image" column type
2018-02-02 17:32:05 +02:00
Levko Kravets
868944bd91 getredash/redash#2138 Table viz: Image column type 2018-02-02 16:34:09 +02:00
Zsolt Kocsmarszky
caf0070d14 Merge branch 'master' into design/improve-default-visualisation-colors 2018-02-01 22:35:01 +01:00
Zsolt Kocsmarszky
c9b28785fb Improve visualisation colors 2018-02-01 22:32:30 +01:00
Levko Kravets
af7fb278e8 Cohort viz: add Mode option and two rendering modes; options to map columns; UI tweaks 2018-02-01 18:16:00 +02:00
Arik Fraimovich
34d22ee418 Merge pull request #2245 from kocsmy/design/query-round-3
Further Query Improvements
2018-02-01 14:47:41 +02:00
Arik Fraimovich
33b4c7c4c3 Move widget position logic migration to the backend and remove some unused code.
Closes #2218.
2018-02-01 14:40:40 +02:00
Arik Fraimovich
a6f3873059 Merge pull request #2247 from sjakthol/saml-groups-fix
fix: commit saml user group assignment to the database
2018-02-01 14:29:34 +02:00
Arik Fraimovich
aa60554389 Merge pull request #2249 from sjakthol/saml-settings-form-fix
fix: update correct settings in saml settings form
2018-02-01 14:25:14 +02:00
Arik Fraimovich
6f7e95d419 Merge pull request #2267 from alexdrans/es_source_content_type_fix
Setting source_content_type on ES queries
2018-02-01 14:23:52 +02:00
Arik Fraimovich
4c7a0cdc3b Merge pull request #2270 from jezdez/celery-3.1.25
Upgrade to Celery 3.1.25 in preparation to Celery 4.
2018-02-01 14:21:26 +02:00
Arik Fraimovich
bbfad16712 Merge pull request #2277 from kocsmy/fixes/widget-parameter-padding
Fix bottom spacing for widget parameter section
2018-02-01 09:19:23 +02:00
Zsolt Kocsmarszky
94d47abee6 Remove code duplicate 2018-01-31 22:07:29 +01:00
Zsolt Kocsmarszky
75c94c2cbd Fix parameter bottom spacing on widgets 2018-01-31 22:06:10 +01:00
Javier Sanz Olivera
44c2526da2 Fixing style 2018-01-31 16:07:23 +01:00
Javier Sanz Olivera
c05e4b7366 Adapting code to redish style plus added the field to the helper 2018-01-31 16:03:50 +01:00
Arik Fraimovich
77eeba264f Merge pull request #2276 from kravets-levko/fix/insert-shema-node-by-click
Insert schema node by click - fixes
2018-01-31 17:02:44 +02:00
Levko Kravets
bbe11f597c Insert only column name; save cursor position 2018-01-31 16:57:55 +02:00
Levko Kravets
3950c9e5e6 Move scrollbars from right-side area to visualization area 2018-01-31 13:39:40 +02:00
Levko Kravets
6839976312 Fix bug: query editor did not restore its size after toggle 2018-01-31 13:35:40 +02:00
Levko Kravets
7fa765911f Remove unused styles 2018-01-31 13:35:40 +02:00
Levko Kravets
d5acf48161 getredash/redash#2234 Toggle resizable blocks 2018-01-31 13:35:40 +02:00
Levko Kravets
dfc9c5d02b getredash/redash#2234 CR1 2018-01-31 13:35:40 +02:00
Levko Kravets
d2c80e96f7 getredash/redash#2234 Improve query page markup + add scrollbars for each region 2018-01-31 13:35:40 +02:00
Zsolt Kocsmarszky
34a2d5fdc4 Move publish button the visible area 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
936144f6a0 attach people data to the bottom too 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
bacddea809 smaller padding fix 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
5404cc6377 fix schema editor on smaller screens 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
9c28948d5c make schema browser fill up the space 2018-01-31 13:28:46 +02:00
Zsolt Kocsmarszky
797393727d Attach refresh tot he bottom 2018-01-31 13:28:46 +02:00
Arik Fraimovich
2655dbe939 Merge pull request #2275 from kravets-levko/bug/insert-node-update-model
Query editor insert node from schema browser update ngModel
2018-01-31 13:09:25 +02:00
Levko Kravets
c2de59ca33 Query editor insert node from schema browser - update ng-model 2018-01-31 13:04:15 +02:00
Arik Fraimovich
a5c954a954 Merge pull request #2273 from kravets-levko/bug/dashboard-dropdown
Open "Refresh" dropdown to the left
2018-01-31 12:13:07 +02:00
Levko Kravets
b6827bb8c2 getredash/redash#2272 Open dropdown to the left 2018-01-31 11:49:25 +02:00
Arik Fraimovich
5dde17e421 Merge pull request #2269 from kravets-levko/fix/remove-progress-when-query-param-changes
Remove loading indicator when updating query parameter value (before executing)
2018-01-31 11:28:07 +02:00
Levko Kravets
06b5b09b86 getredash/redash#2161 Remove loading indicator when query params changed 2018-01-30 21:06:15 +02:00
Jannis Leidel
7b82203fb1 Upgrade to Celery 3.1.25 in preparation to Celery 4.
To prepare for a future Celery upgrade to verson 4.x this upgrades
Redash to 3.1.25 which includes support for Celery's task protocol 2.
It's the first of two steps to get Redash upgraded to Celery 4.x.

3.1.4 release notes: http://docs.celeryproject.org/en/3.1/changelog.html#version-3-1-24
4.0 release notes regarding the two-step-upgrade approach: http://docs.celeryproject.org/en/latest/whatsnew-4.0.html#step-1-upgrade-to-celery-3-1-25
2018-01-30 19:22:33 +01:00
Arik Fraimovich
e2042b13b0 Merge pull request #2268 from getredash/dashboard-refresh-interval
Make dashboard refresh intervals configurable
2018-01-30 13:49:19 +02:00
Arik Fraimovich
a557d9fa70 Make dashboard refresh intervals configurable 2018-01-30 13:46:19 +02:00
Alex Dransfield
21d14c5388 Setting source_content_type on ES queries 2018-01-30 11:02:01 +00:00
Javier Sanz Olivera
e605176673 Fixing style issue. 2018-01-30 01:19:03 +01:00
Javier Sanz Olivera
4a8a23768f Fixing build and some style issues. 2018-01-30 01:15:17 +01:00
Javier Sanz Olivera
11d4fb4dbe Password can be None 2018-01-30 01:07:51 +01:00
Javier Sanz Olivera
a948544d4c Removing unused import. 2018-01-30 00:52:11 +01:00
Javier Sanz Olivera
cf7d04332b Reverting unquote helper change. 2018-01-30 00:51:13 +01:00
Javier Sanz Olivera
c614ff4a15 Url password can have quoted special characters. 2018-01-30 00:37:30 +01:00
Arik Fraimovich
817f2ba9af Merge pull request #2156 from kravets-levko/feature/revisit-chart
Revisit Plotly integration
2018-01-29 16:48:37 +02:00
Levko Kravets
862bc947f7 getredash/redash#2117 CR7 2018-01-29 12:44:43 +02:00
Arik Fraimovich
d38a443053 Merge pull request #2246 from kyoshidajp/enable_list_query
[WIP]Enable list query by one character when adding widget on Dashboard
2018-01-28 14:09:09 +02:00
Arik Fraimovich
c7284d6662 Merge pull request #2264 from kocsmy/design/pivot-table
Improved pivot table design
2018-01-28 13:58:40 +02:00
Arik Fraimovich
76d8613d3e Merge pull request #2219 from kocsmy/design/new-dashboard-creation
Improve dashboard editing flow
2018-01-28 13:18:39 +02:00
Arik Fraimovich
3aee4e9ed8 remove second add-widget-container 2018-01-28 13:17:55 +02:00
Arik Fraimovich
4029821e93 Properly handle dashbaords filters toggle. 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
5a9b86ff69 make button texts consistent with queries 2018-01-28 12:37:35 +02:00
Arik Fraimovich
c7dbe07b33 Single dashboard editing mode. 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
a98eff8901 improve widget description 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
b090b6b9dc Only render parameters div if we have parameters 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
dd3916672a Wider add widget section for dashboards 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
f7512f18f6 Fix schema hover on sub-items 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
cfb4a1c4f7 Simplify markup and add more styling for add new widget box 2018-01-28 12:37:35 +02:00
Zsolt Kocsmarszky
4b74ab361a Styling improvements + show buttons in the right context 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
977608198e position: sticke for dashboard-header 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
7b62ee8715 Add extra header class and fixed styling 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
80e07c6cf9 add ng-if to hide and show sections accordingly 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
043a1eedcf Add missing class for consistency 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
d95c9565f3 plenty of dashboard, filter and parameter fixes (still not the best, it's very messy here) 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
84532f84ac Improve dashboard widget creation and publish process with multiple design improvements 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
d9892f852b add new widget to the bottom of the dashboard 2018-01-28 12:37:00 +02:00
Zsolt Kocsmarszky
d6847201e5 Optimise and remove unnecessary code 2018-01-27 13:52:07 +01:00
Zsolt Kocsmarszky
b6ac96ef72 various styling improvements for pivot table to match current design direction 2018-01-27 11:31:31 +01:00
jubel
135af39fd4 support the range query of until now 2018-01-26 14:22:27 +08:00
jubel
8a2676701b extend the prometheus query runner to support the range query 2018-01-26 13:16:28 +08:00
Arik Fraimovich
060fe1dd9c Merge pull request #2259 from shinji19/master
Fix google oauth login for multi organization
2018-01-25 19:54:43 +02:00
SHINJI ICHIHARA
01a7b4eca8 Fix google_auth login for organization 2018-01-26 02:06:31 +09:00
Arik Fraimovich
ba0b9da09f Fix syntax errors. 2018-01-25 12:39:47 +02:00
Zsolt Kocsmarszky
e97fd7da5b add spacing between empty state window and content 2018-01-23 15:28:43 +01:00
Zsolt Kocsmarszky
3477a5540a add icons and fix smaller screen layout 2018-01-23 15:27:24 +01:00
Arik Fraimovich
61a0aaa858 Merge pull request #2250 from getredash/ds_ui_select
Use ui-select for data source picker for consistent style across browsers
2018-01-23 09:46:21 +02:00
Zsolt Kocsmárszky
1b03785a24 Merge pull request #2253 from kocsmy/fixes/queries-search-page-fixed-layout
Fix width for queries/search page as well
2018-01-22 22:43:21 +01:00
Zsolt Kocsmarszky
2c3052eaaa Fix width for queries/search page as well 2018-01-22 22:34:38 +01:00
Zsolt Kocsmarszky
490c8f38d8 Make section full width, remove double titles and minor styling improvements 2018-01-22 22:24:30 +01:00
Zsolt Kocsmarszky
5c5c08ae39 Add empty states for home, dashboards, queries and alerts 2018-01-22 22:03:06 +01:00
Zsolt Kocsmárszky
1ac9e6ee4c Merge pull request #2251 from yoavbls/master
Add mapd, oracle and qubole images
2018-01-22 16:37:47 +01:00
Your Name
1f99cd9e55 Add mapd, oracle and qubole images 2018-01-21 01:17:51 +02:00
Arik Fraimovich
b977526b93 Use ui-select for data source picker for consistent style across browsers 2018-01-20 20:51:01 +02:00
Sami Jaktholm
6dacfaffc7 fix: update correct settings in saml settings form
The entity_id and nameid_format form fields didn't work as they
tried to save a setting with an incorrect name. This has now
been fixed and the form can be used to configure these values.

A short debounce delay was also added to the form to avoid
saving the value after every keystroke (if values are inputted
manually).
2018-01-20 17:31:49 +02:00
Sami Jaktholm
fe2772e9db fix: commit saml user group assignment to the database
Relevant tests were also modified to reload the user
object from the database before asserting that the
user belongs to correct groups.

Fixes #1668.
2018-01-20 15:19:03 +02:00
Katsuhiko YOSHIDA
55c4bb16e2 Enable list query by one character 2018-01-20 12:10:17 +09:00
Levko Kravets
92091bf628 Resolve conflicts with master 2018-01-19 19:39:43 +02:00
Levko Kravets
18b30d6baa getredash/redash#2117 CR6 2018-01-19 19:30:53 +02:00
Levko Kravets
084a2f8806 getredash/redash#2117 CR5 2018-01-19 19:30:53 +02:00
Levko Kravets
c5acf6580c getredash/redash#2117 CR4 2018-01-19 19:30:53 +02:00
Levko Kravets
4f4411a46a getredash/redash#2117 CR3 2018-01-19 19:30:53 +02:00
Levko Kravets
2eaec6970e getredash/redash#2117 CR2 2018-01-19 19:30:53 +02:00
Levko Kravets
30836e76d2 getredash/redash#2117 CR1 2018-01-19 19:30:53 +02:00
Levko Kravets
4547b8b735 getredash/redash#2117 Annotations 2018-01-19 19:30:53 +02:00
Levko Kravets
0cefed7108 getredash/redash#2117 Fix line/area stacking; UI improvements 2018-01-19 19:30:53 +02:00
Levko Kravets
878dc91edb getredash/redash#2117 Optimize code, add more stacking options, fix percent stacking bugs 2018-01-19 19:30:53 +02:00
Levko Kravets
249b78c202 getredash/redash#2117 Revisit Plotly integration 2018-01-19 19:30:53 +02:00
Arik Fraimovich
a4d9ed5418 Merge pull request #2231 from kravets-levko/feature/wide-table
100%-wide results table
2018-01-19 19:01:14 +02:00
Arik Fraimovich
0207449162 Merge pull request #2244 from kocsmy/fixes/python-logo
Add missing python logo
2018-01-19 15:42:12 +02:00
Zsolt Kocsmarszky
2e7b1b4066 Add missing python logo 2018-01-19 13:29:10 +01:00
Arik Fraimovich
7ef94c82f4 Update ISSUE_TEMPLATE.md 2018-01-18 20:17:31 +02:00
Arik Fraimovich
4f1d46cb59 Update ISSUE_TEMPLATE.md 2018-01-18 20:16:50 +02:00
Arik Fraimovich
a1473d6dda Make it clearer people should use the forum. 2018-01-18 20:15:45 +02:00
Arik Fraimovich
0efdd479d6 Merge pull request #2225 from kravets-levko/feature/insert-schema-doubleclick
Insert schema node into editor by click
2018-01-18 16:07:05 +02:00
Arik Fraimovich
c2e28b21cf Merge pull request #2185 from kocsmy/design/new-data-source+query-editor
Design/new data source+query editor
2018-01-18 16:05:22 +02:00
Levko Kravets
7d5bcb8dbf getredash/redash#2215 100%-wide results table 2018-01-18 12:26:49 +02:00
Levko Kravets
c0d86c2766 Rename event to be more generic 2018-01-17 22:26:31 +02:00
Arik Fraimovich
dcf867e4c5 Merge pull request #2226 from kravets-levko/feature/dashboard-remove-embed-related-code
Remove ?embed-related code in public dashboards
2018-01-17 21:08:25 +02:00
Levko Kravets
5dc01f762f Replace double-click with icon+single click 2018-01-16 18:26:46 +02:00
Zsolt Kocsmarszky
11cfc66cef Add Redash styling to editor 2018-01-15 22:52:54 +01:00
Levko Kravets
f5ed122430 getredash/redash#1940 Remove ?embed-related code in public dashboards 2018-01-15 20:33:41 +02:00
Zsolt Kocsmarszky
612710f37c Fix Firefox issue 2018-01-14 21:29:57 +01:00
Zsolt Kocsmarszky
ca69a24729 cleanup css 2018-01-14 21:14:40 +01:00
Zsolt Kocsmarszky
45c75a81e6 Smaller fixes for smaller screens 2018-01-14 21:12:57 +01:00
Zsolt Kocsmarszky
e04729a381 Plenty of improvements based on #2185 comments 2018-01-14 19:31:18 +01:00
Zsolt Kocsmarszky
7ba5cc51e3 move updated at time to the right 2018-01-14 18:03:21 +01:00
Levko Kravets
c65597b35d Fix code style 2018-01-14 14:03:50 +02:00
Levko Kravets
6c4023289e Insert schema path into editor by double click 2018-01-14 14:01:49 +02:00
kakakakakku
ee2acc81ff Fixed monitoring metrics for Redis 2018-01-14 00:51:39 +09:00
Arik Fraimovich
3aa3f7f08d Merge pull request #2221 from mozilla/search-result-sort
correctly sort search result columns
2018-01-12 22:42:25 +02:00
Arik Fraimovich
a6e05e0419 Merge pull request #2222 from kakakakakku/rename-elasticsearch
Renamed to "Elasticsearch"
2018-01-12 22:41:16 +02:00
Arik Fraimovich
7e2a14e496 Merge pull request #2223 from shigemk2/license-2018
It's 2018 now ! 🎉
2018-01-12 15:54:06 +02:00
Michihito Shigemura
30cc0cc1a4 It's 2018 now ! 🎉 2018-01-12 19:08:33 +09:00
kakakakakku
cf436e45a4 Renamed to "Elasticsearch" 2018-01-12 17:18:57 +09:00
Allen Short
3b2b27a883 correctly sort search result columns 2018-01-12 03:47:35 +00:00
Arik Fraimovich
691dc6a24c Merge pull request #2041 from jezdez/fulltext-search
Add full text search for queries based on the Postgres tsvector type.
2018-01-11 20:46:33 +02:00
Arik Fraimovich
75d0d2d588 Show data scanned property when available 2018-01-11 18:14:50 +02:00
Arik Fraimovich
bc29c12b4f Properly handle 1row 2018-01-11 17:51:32 +02:00
Arik Fraimovich
ceb966ad63 Merge branch 'master' into design/new-data-source+query-editor 2018-01-11 15:54:36 +02:00
Arik Fraimovich
44770b3fd7 Merge pull request #2101 from ariarijp/fix/script_query_runner
Strip annotation from query when path is specified in Script Query Runner
2018-01-11 15:05:36 +02:00
Zsolt Kocsmarszky
98d0f05a31 Merge branch 'design/new-data-source+query-editor' of https://github.com/kocsmy/redash into design/new-data-source+query-editor 2018-01-09 22:31:14 +01:00
Zsolt Kocsmarszky
f3014f5291 Further styling fixes 2018-01-09 22:30:23 +01:00
Arik Fraimovich
3a413b53be Fix: embed/edit buttons were not working 2018-01-09 23:18:39 +02:00
Zsolt Kocsmarszky
6ce8883c37 More descriptive button text for edit visualisation 2018-01-09 22:07:25 +01:00
Zsolt Kocsmarszky
ffbf24534f Fix minor styling issues 2018-01-09 18:49:54 +01:00
Zsolt Kocsmarszky
28cc7eaa90 Attach result controls to the bottom of the query page 2018-01-09 18:32:21 +01:00
Zsolt Kocsmarszky
5189e6d3d1 Overwrite instead of writing new code 2018-01-09 17:39:23 +01:00
Zsolt Kocsmarszky
d24a5bdd83 Smaller screen improvements for new data source flow 2018-01-09 15:52:22 +01:00
Zsolt Kocsmarszky
192ddd248b Better required * indication without red color 2018-01-09 15:37:19 +01:00
Zsolt Kocsmarszky
7c4b66b1b5 Rename show / hide source 2018-01-09 14:55:24 +01:00
Arik Fraimovich
cbe76f656f Merge pull request #2204 from mozilla/data-scanned
Report amount of data scanned for Athena queries
2018-01-09 14:56:11 +02:00
Arik Fraimovich
3359ab24af Mark required fields in dynamic forms 2018-01-09 12:57:35 +02:00
Arik Fraimovich
5b938f2c3e Add layouts support. 2018-01-09 12:06:46 +02:00
Jannis Leidel
9f6b4fbdf2 Add full text search for queries based on the Postgres tsvector type. 2018-01-08 22:46:53 +01:00
Arik Fraimovich
55b852f8ee Hide query metadata for unsaved queries 2018-01-08 23:16:08 +02:00
Arik Fraimovich
efede57931 Update org settings layout 2018-01-08 23:14:01 +02:00
Arik Fraimovich
2859c46459 Merge pull request #2205 from sjakthol/redshift-sslmode
Make Redshift sslmode configurable
2018-01-08 11:34:26 +02:00
Zsolt Kocsmarszky
c0fb51f6a5 Multiple styling fixes 2018-01-07 22:53:55 +01:00
Zsolt Kocsmarszky
c1208989a2 Refine logos + the header of 2nd step for adding new data source 2018-01-07 22:22:02 +01:00
Zsolt Kocsmarszky
46061a01c1 Merge branch 'master' into design/new-data-source+query-editor
# Conflicts:
#	package.json
2018-01-07 21:48:56 +01:00
Zsolt Kocsmarszky
a3dec53275 Replacing icons 2018-01-07 21:45:41 +01:00
Arik Fraimovich
ef202e75b9 Close #2159: special tab for your own user profile 2018-01-07 14:13:57 +02:00
Sami Jaktholm
1d188875a9 make Redshift sslmode configurable
This makes it possible to configure Redash to require TLS
and verify the certificate Redshift presents.

The setting works similarly to that of the PostgreSQL source
except that Redshift explicitly passes 'prefer' to psycopg2
if sslmode is not configured (for compatibility).
2018-01-06 21:00:45 +02:00
Allen Short
09d4605635 Report amount of data scanned for Athena queries 2018-01-06 01:08:44 +00:00
Zsolt Kocsmarszky
d1de26ba0c Small screen fixes 2018-01-05 19:22:14 +01:00
Zsolt Kocsmarszky
eb9b3130ee Better aligned and spaced cards 2018-01-05 19:19:00 +01:00
Zsolt Kocsmarszky
9850908ef0 Fixing empty query resize issues 2018-01-05 19:11:05 +01:00
Zsolt Kocsmarszky
f23136542e Remove duplicate datasource selector 2018-01-05 19:04:24 +01:00
Zsolt Kocsmarszky
f6ac9c454c Multiple new data source and alert refinements for layout and styling 2018-01-05 18:45:50 +01:00
Arik Fraimovich
0c05102fe7 Merge pull request #2171 from mayconbordin/salesforce_api_version
Added API version to salesforce query runner
2018-01-05 19:11:35 +02:00
Arik Fraimovich
75af80c126 Merge pull request #2196 from kravets-levko/fix/error-handling
Fix to error handling mechanism: fail only on promise rejections
2018-01-05 19:11:06 +02:00
Arik Fraimovich
2231d1562c Update bootstrap script to use v3. 2018-01-05 18:57:15 +02:00
Zsolt Kocsmarszky
7d16cd2a0c Remove unnecessary classes 2018-01-05 15:22:17 +01:00
Zsolt Kocsmarszky
e29e4bf311 Make org settings layout better 2018-01-05 15:21:50 +01:00
Zsolt Kocsmarszky
f91bc2a505 add athena logo 2018-01-04 23:21:04 +01:00
Arik Fraimovich
ea1334ef6a Make results mode hide query editing parts 2018-01-04 20:51:22 +02:00
Arik Fraimovich
bae4016b3a Remove ng-app directive in query page 2018-01-04 19:10:44 +02:00
Arik Fraimovich
56ffb1f932 Update alert destination to use new design 2018-01-04 17:52:58 +02:00
Arik Fraimovich
3b14958515 Working data source setup pages 2018-01-04 16:12:56 +02:00
Arik Fraimovich
59af40fc30 Switch to dev.redashapp.com as the dev server 2018-01-04 14:23:36 +02:00
Arik Fraimovich
9afd23ab60 Use actual data source types + filtering 2018-01-04 14:23:25 +02:00
Arik Fraimovich
ca893a0e77 Rename db logos to their correct names 2018-01-04 14:22:58 +02:00
Arik Fraimovich
20c3ad2fea Merge branch 'master' into design/new-data-source+query-editor 2018-01-04 13:55:39 +02:00
Arik Fraimovich
6f76aec1e0 Merge pull request #2201 from kocsmy/fixes/fix-unsaved-query-alignment
simplifying the code and fixing alignment issues
2018-01-04 13:15:37 +02:00
Zsolt Kocsmarszky
57aa05f547 simplifying the code and fixing alignment issues 2018-01-04 12:12:02 +01:00
Arik Fraimovich
a6b90445cd Merge pull request #2200 from kocsmy/fixes/filter-headers
Fixing filter headers mixed
2018-01-04 13:02:53 +02:00
Levko Kravets
91d29cbbbe Fix to error handling: CR3 2018-01-04 12:44:51 +02:00
Zsolt Kocsmarszky
33a2271b1a Smaller styling improvements 2018-01-03 22:54:25 +01:00
Zsolt Kocsmarszky
2a3c75976f Refine styling and fixes 2018-01-03 22:33:47 +01:00
Zsolt Kocsmarszky
d8594e7662 Fix misplaced div closing tags 2018-01-03 22:25:09 +01:00
Zsolt Kocsmarszky
7605032eec Fix filters so it'll nicely list 2+ filters 2018-01-03 21:00:15 +01:00
Zsolt Kocsmarszky
7ce815cddb Better alignment 2018-01-03 20:10:18 +01:00
Zsolt Kocsmarszky
4c055c663b fix filter headers and filters on unsaved query alignment 2018-01-03 20:08:43 +01:00
Arik Fraimovich
6a4267abd5 Merge pull request #2199 from kocsmy/fixes/unpublished-query-result-table
bug on query page: if creating new query, table is 100% wide
2018-01-03 20:43:58 +02:00
Arik Fraimovich
bea39343c8 Merge pull request #2198 from washort/change-data-source-query-version
Update query version when changing query data source
2018-01-03 20:42:06 +02:00
Zsolt Kocsmarszky
694115e499 Fix unsaved query table visualisation 2018-01-03 19:35:48 +01:00
Zsolt Kocsmarszky
dc84876d27 Fix fullscreen table to fixed width for unpublished query 2018-01-03 19:26:17 +01:00
Allen Short
07628da64d Update query version when saving new data source 2018-01-03 18:26:09 +00:00
Levko Kravets
aa970a0afb Fix to error handling: CR2 2018-01-03 15:28:15 +02:00
Levko Kravets
effb212e4b Fix to error handling: CR1 2018-01-03 14:00:34 +02:00
Zsolt Kocsmarszky
f687cacbee Revert "Add page-specific class to body for each app page"
This reverts commit e9139748a0.
2018-01-03 12:47:44 +01:00
Zsolt Kocsmarszky
a26dbab28b Merge branch 'master' of https://github.com/getredash/redash into design/new-data-source+query-editor 2018-01-03 12:32:52 +01:00
Zsolt Kocsmarszky
84e65f7165 Merge branch 'master' of https://github.com/getredash/redash 2018-01-03 12:30:48 +01:00
Levko Kravets
dd0ffe3d2c Fix to error handling mechanism: fail only on promise rejections 2018-01-02 14:59:41 +02:00
Arik Fraimovich
bb36ec8664 Merge pull request #2195 from getredash/feature/settings
Allow passing options to tests Docker command.
2018-01-02 13:37:51 +02:00
Arik Fraimovich
2f51df3435 Allow passing options to tests Docker command. 2018-01-02 13:30:06 +02:00
Maycon Bordin
3846cf3269 Added default version for salesforce query runner 2018-01-02 08:17:07 -02:00
Arik Fraimovich
a66ac82a23 Merge pull request #2194 from getredash/feature/settings
Move some of the configuration to the UI
2018-01-02 11:26:29 +02:00
Arik Fraimovich
eb85fc9e5b Merge pull request #2179 from kyoshidajp/add_root_user_command
Feature: Add create root user command
2018-01-02 11:23:56 +02:00
Arik Fraimovich
8d2571cba2 Merge pull request #2187 from kravets-levko/feature/error-handling
Improve error handling mechanism
2018-01-02 11:20:43 +02:00
Arik Fraimovich
93aeae63b7 CodeClimate issue fixes. 2018-01-02 11:13:35 +02:00
Arik Fraimovich
7602599738 Update pysaml2 version to latest release. 2018-01-02 10:48:33 +02:00
Arik Fraimovich
153c0139cd Dynamic organization settings support. 2018-01-02 10:48:22 +02:00
Arik Fraimovich
a6faebb04c Make settings menu dynamic. 2018-01-02 10:43:16 +02:00
Arik Fraimovich
1e156739da Turn settings into a package 2017-12-31 14:39:03 +02:00
Arik Fraimovich
c5e5bb714b Merge pull request #2189 from getredash/feature/settings
Replace Makefile with scripts
2017-12-31 14:35:46 +02:00
Arik Fraimovich
6c4989d8a0 Replace Makefile with scripts 2017-12-31 14:34:41 +02:00
Zsolt Kocsmarszky
4d0a6accc6 More css for better collapse and expand 2017-12-29 18:35:18 +01:00
Zsolt Kocsmarszky
ecc6200aaf Refining styling so resize works nicely 2017-12-29 18:12:30 +01:00
Zsolt Kocsmarszky
3b232d3bcc Fixing resizing issues 2017-12-29 17:14:05 +01:00
Zsolt Kocsmarszky
f258d8086c Add border for editor 2017-12-29 16:38:09 +01:00
Levko Kravets
c9ac9d85e2 getredash/redash#2162 CR2 2017-12-29 11:17:27 +02:00
Levko Kravets
fec92b399a getredash/redash#2162 CR1 2017-12-28 18:39:14 +02:00
Arik Fraimovich
9323a93a8d Merge pull request #2188 from rgjodekerken/master
Fix upgrade script for ci channel
2017-12-28 17:17:04 +02:00
Arik Fraimovich
f75833e5a9 Merge pull request #2166 from kravets-levko/bug/query-page-small-counter
Counter is too small on query page
2017-12-28 17:11:46 +02:00
Richard Odekerken
6307cfb9d7 Fix upgrade script for ci channel 2017-12-28 15:10:45 +00:00
Arik Fraimovich
651d56ad95 Merge pull request #2184 from cloudron-io/ldap_search_dn
rename REDASH_SEARCH_DN to REDASH_LDAP_SEARCH_DN
2017-12-28 16:01:57 +02:00
Arik Fraimovich
055b8eff54 Merge pull request #2175 from bamboo-yujiro/fix_user_form
Fix : User Form displays a incorrect error appearance.
2017-12-27 22:01:15 +02:00
Girish Ramakrishnan
c59e7ea2a5 rename REDASH_SEARCH_DN to REDASH_LDAP_SEARCH_DN 2017-12-27 10:33:08 -08:00
Levko Kravets
1bfea8b493 Improve error handling mechanism (related to getredash/redash#2162) 2017-12-27 16:01:29 +02:00
Zsolt Kocsmarszky
c9d5347658 mobile and spacing fixes 2017-12-27 14:47:58 +01:00
Zsolt Kocsmarszky
58eb08e22a Refine format and other smaller elements 2017-12-27 13:33:00 +01:00
Zsolt Kocsmarszky
52bae5cbe5 Rearrange elements for better UX 2017-12-27 13:08:05 +01:00
Zsolt Kocsmarszky
f2585d1124 Better edit in place and other refinements for rearranged layout 2017-12-27 13:07:48 +01:00
Zsolt Kocsmarszky
635aeb3409 Remove classes 2017-12-27 11:23:46 +01:00
Zsolt Kocsmarszky
e6ec50a4e6 Dynamic forms back live again, extra classes added for better form design 2017-12-27 11:19:19 +01:00
Zsolt Kocsmarszky
3bc5c60907 better data source cars + list view has cards now, too 2017-12-27 11:13:09 +01:00
Zsolt Kocsmarszky
a698cb0484 Pluralize database 2017-12-27 10:53:07 +01:00
Arik Fraimovich
6441c4b52d Merge pull request #2174 from tonyjiangh/feature/add_redshift_view_support
Add redshift late binding view data to schema browser
2017-12-26 21:05:54 +02:00
Arik Fraimovich
ff078485f2 Merge pull request #2165 from tonyjiangh/feature/query_result_exception
Fix unicode handling at query result
2017-12-26 20:59:52 +02:00
Zsolt Kocsmarszky
e925568e3d Further improve smaller screen design 2017-12-26 14:19:18 +01:00
Zsolt Kocsmarszky
db6c8769d4 Further refining code and removing junk 2017-12-26 13:50:46 +01:00
Zsolt Kocsmarszky
3c9f59b055 Adjust button size size so it's consistent 2017-12-26 13:35:03 +01:00
Zsolt Kocsmarszky
0a15986619 Code and styling improvements focusing on xs and sm screen sizes 2017-12-26 13:18:36 +01:00
Zsolt Kocsmarszky
696eefad1a Further cleaning up code 2017-12-26 11:39:42 +01:00
Zsolt Kocsmarszky
708cc26c1d Cleaning up code and properly fall back design on narrower screen for query-metadata 2017-12-26 11:33:52 +01:00
Katsuhiko YOSHIDA
da1f99d846 Add create root user command 2017-12-23 18:04:38 +09:00
bamboo-yujiro
4f814408c7 Retry codeclimate 2017-12-22 11:09:15 +09:00
Hao Jiang
87ce1db3bd Add redshift late binding view data to schema browser 2017-12-21 22:24:31 +09:00
bamboo-yujiro
71e6bf13ff Fix : User Form displays a incorrect error appearance. 2017-12-21 17:52:25 +09:00
Zsolt Kocsmarszky
24188ab1de Perfectly calculated schema-container size, finally 2017-12-21 02:12:46 +01:00
Zsolt Kocsmarszky
e6f8b2c502 Flexible query editor 2017-12-20 23:38:46 +01:00
Levko Kravets
e9139748a0 Add page-specific class to body for each app page 2017-12-20 17:28:42 +02:00
Maycon Bordin
3cfd34a897 Added API version to salesforce query runner and fixed issue when row column value does not exist 2017-12-20 10:00:42 -02:00
Zsolt Kocsmarszky
404000e5fe Add missing elements for new data source screen 2017-12-19 14:08:17 +01:00
Zsolt Kocsmarszky
5441ef429e Fix card sizes 2017-12-19 13:23:48 +01:00
Zsolt Kocsmarszky
1110e65e4a Load all images from images folder 2017-12-19 12:37:08 +01:00
Zsolt Kocsmarszky
9ac5d58b89 flexible layout v0.1 (WIP) 2017-12-18 23:27:08 +01:00
Zsolt Kocsmarszky
0810c2b1e0 Change to narrow layout 2017-12-18 20:03:50 +01:00
Levko Kravets
68f0c368c0 getredash/redash#2129 Counter too small on query page 2017-12-18 15:12:55 +02:00
Zsolt Kocsmarszky
64c69ee009 Foundation for New Data Source layout added 2017-12-17 20:48:25 +01:00
Zsolt Kocsmarszky
e2df12e2a2 Merge branch 'design/query-page-improvements' into design/new-data-source-flow 2017-12-17 19:29:15 +01:00
Zsolt Kocsmarszky
0f31de33e8 General styling improvements 2017-12-17 19:27:54 +01:00
Zsolt Kocsmarszky
d37948f44b Merge branch 'master' into design/new-data-source-flow 2017-12-17 18:37:44 +01:00
Hao Jiang
6e2e2e2060 Fix: unicode handling at query result 2017-12-16 09:55:15 +09:00
Zsolt Kocsmarszky
439cc45ca7 Merge branch 'master' into design/query-page-improvements 2017-12-13 22:14:13 +01:00
Zsolt Kocsmarszky
816c61944e Recreate new 2 column layout 2017-12-13 22:12:45 +01:00
Arik Fraimovich
5ba15ef350 Remove trailing spaces 2017-12-13 11:59:43 +02:00
Arik Fraimovich
30136c4e97 Merge pull request #2148 from kyoshidajp/replace_datetime_strings
Replace invalid date time strings
2017-12-13 11:53:15 +02:00
Arik Fraimovich
1a4d7471f5 Stored parsed moment value. 2017-12-13 11:52:56 +02:00
Arik Fraimovich
1d3c2144c4 Merge pull request #2154 from crooy/master
fixing issue #2150
2017-12-13 11:38:12 +02:00
Arik Fraimovich
fdf35328ac Merge pull request #2152 from bamboo-yujiro/fix_appearance_collapse_of_outdated-queries
Fix: Appearance collapse of outdated-queries.
2017-12-13 11:37:36 +02:00
Zsolt Kocsmarszky
c147d30cb5 Separate Data source panel, freely expanding schema browser, freely expandable query editor, better smaller screen layout 2017-12-12 22:31:52 +01:00
Ronald Crooy
80a74934f0 fixing issue #2150 2017-12-12 11:37:24 +01:00
bamboo-yujiro
a36cc6838b Fix: Appearance collapse of outdated-queries. 2017-12-12 00:58:11 +09:00
Arik Fraimovich
073db37cfd Merge pull request #2136 from doddjc21/patch-1
Update oracle.py
2017-12-11 16:34:42 +02:00
Katsuhiko YOSHIDA
b7b8e56722 Consider value is string case 2017-12-11 20:09:27 +09:00
Zsolt Kocsmarszky
8a11183905 Add data source logos 2017-12-11 00:36:40 +01:00
Katsuhiko YOSHIDA
c045ccabe4 Replace invalid date time strings 2017-12-10 22:46:31 +09:00
Arik Fraimovich
c3cb2cc28b Merge pull request #2126 from getredash/layout_fixes
Layout fixes (mainly schema browser)
2017-12-07 19:45:55 +02:00
Arik Fraimovich
990d32cfa2 Remove unneeded code 2017-12-07 17:14:47 +02:00
Arik Fraimovich
1573e06e71 Merge pull request #2134 from getredash/fix_query_results_download
Fix #68: user can't download query results of a new query
2017-12-07 16:33:59 +02:00
Arik Fraimovich
6bb05106cd Hide shcema browser when it's not relevant 2017-12-07 16:31:34 +02:00
Arik Fraimovich
c1d7e0401f Explict response when schema is not supported (vs just some error loading it) 2017-12-07 16:31:02 +02:00
Arik Fraimovich
604540266a Merge pull request #2135 from kocsmy/fixes/query-tables
Fixes/query tables
2017-12-07 16:14:53 +02:00
Joseph Dodd
4954d1c807 Update oracle.py 2017-12-06 17:51:27 -05:00
Joseph Dodd
45b828e361 Update oracle.py 2017-12-06 17:48:36 -05:00
Joseph Dodd
96e2991650 Update oracle.py 2017-12-06 17:44:49 -05:00
Joseph Dodd
54b1f4219d Update oracle.py 2017-12-06 17:39:51 -05:00
Zsolt Kocsmarszky
3a0ffa53e2 Fix filters spacing on Dashboards 2017-12-06 22:44:34 +01:00
Zsolt Kocsmarszky
7381bd11a0 Fix margin on pagination 2017-12-06 22:28:10 +01:00
Zsolt Kocsmarszky
19bd150e4b Fix pagination 2017-12-06 22:21:33 +01:00
Zsolt Kocsmarszky
e65b023fa7 Make embed query tables width: auto too and apply css flexbox 2017-12-06 22:18:15 +01:00
Zsolt Kocsmarszky
69badf67fc Merge branch 'master' into fixes/query-tables 2017-12-06 21:31:54 +01:00
Zsolt Kocsmarszky
68177d31b3 Fix wide tables on queries and related elements like pagination 2017-12-06 21:30:27 +01:00
Joseph Dodd
808a4c5d72 Update oracle.py
Update Oracle.py to make INSERTS and UPDATES to Oracle databases
2017-12-06 14:55:13 -05:00
Arik Fraimovich
8e668d2e09 Fix #68: user can't download query results of a new query 2017-12-06 18:14:34 +02:00
Arik Fraimovich
868f334471 Merge pull request #2127 from getredash/gravatar
Change default gravatar type
2017-12-06 11:50:14 +02:00
Arik Fraimovich
3f37c347f9 Change default gravatar type 2017-12-06 11:17:59 +02:00
Arik Fraimovich
271e6a56da Merge branch 'kyoshidajp-add_user_image' 2017-12-06 11:12:54 +02:00
Arik Fraimovich
0988e8184a Rebase with latest master 2017-12-06 11:12:16 +02:00
Katsuhiko YOSHIDA
62e5e38926 Rename profile image url column and method 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
dce865356c Set default parameter None as picture 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
7f398a7d7f Allow None as image_url in User model 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
56c364f0a3 Change style name of profile image 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
0b9b6a623e Change size of profile immage in User 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
ea5788f173 Display user image before name to each page 2017-12-06 09:16:24 +09:00
Katsuhiko YOSHIDA
4a58b9e944 Add image url as a User field 2017-12-06 09:16:24 +09:00
Arik Fraimovich
18b857363f Handle cases when schema is empty 2017-12-06 00:01:01 +02:00
Arik Fraimovich
f02c0e0b9c Fix: table pagination overlap 2017-12-05 21:53:26 +02:00
Arik Fraimovich
6fc6c67e44 Revert accidental changes to query.html 2017-12-05 18:03:37 +02:00
Arik Fraimovich
2c36563e50 View query link in widget should link to source view 2017-12-05 16:42:27 +02:00
Arik Fraimovich
c9a680b4b7 Consistent size of query editor 2017-12-05 16:42:27 +02:00
Arik Fraimovich
b8543eb2bd Change: query should be first in create menu 2017-12-05 16:41:58 +02:00
Arik Fraimovich
b17794f622 Merge pull request #2124 from kocsmy/fixes/merge-fixes-2017-12-05
Fixes/merge fixes 2017 12 05
2017-12-05 16:40:45 +02:00
Zsolt Kocsmarszky
63e76628cf Fix showing refresh time on public dashboard 2017-12-05 15:34:46 +01:00
Zsolt Kocsmarszky
2567c73dba Add Redash logo to the public dashboard footer 2017-12-05 15:21:59 +01:00
Zsolt Kocsmarszky
9c81b866d5 Fix alert spacing 2017-12-05 15:15:09 +01:00
Zsolt Kocsmarszky
ed7a7d4275 Fix query editor size when schema is there but empty 2017-12-05 15:09:20 +01:00
Arik Fraimovich
bc9bcee064 Merge pull request #2123 from kravets-levko/fix/chart-x-axis-height
Fix: chart x-axis height setting
2017-12-05 15:56:12 +02:00
Levko Kravets
96a73b0c9e getredash/redash#2107 Fix: chart x-axis height setting 2017-12-05 15:37:32 +02:00
Arik Fraimovich
004f550e93 Merge pull request #2113 from kocsmy/design/refinements-2
Design/refinements 2
2017-12-05 14:08:36 +02:00
Zsolt Kocsmarszky
2ef9403516 Merge branch 'master' into design/refinements-2
# Conflicts:
#	client/app/components/dynamic-table/dynamic-table.html
#	client/app/pages/queries/query.html
2017-12-05 13:04:08 +01:00
Zsolt Kocsmarszky
7ac88f91dc Fix height for schema browser 2017-12-05 12:36:42 +01:00
Arik Fraimovich
3d0080a9ca Merge pull request #2120 from negibouze/prevent-remove-self
prevent remove self
2017-12-05 13:28:05 +02:00
Arik Fraimovich
2c39028b8b Merge pull request #2118 from deecay/pie-styling
Change: Pie chart font style
2017-12-05 13:27:41 +02:00
Zsolt Kocsmarszky
06cab14693 Fix layout 2017-12-05 12:12:53 +01:00
板倉義晃
4dd8f8cf84 prevent remove self
The administrator made it impossible to remove him/herself from the
built-in group.
2017-12-05 14:02:46 +09:00
deecay
2be067040e Change: Pie chart font style 2017-12-05 10:42:22 +09:00
ariarijp
ccb20640fe Remove half-baked unit test 2017-12-05 00:27:18 +09:00
Arik Fraimovich
9d7f079d94 Merge pull request #2089 from msumit/Qbol_Support
Add Qubole query runner
2017-12-04 16:31:27 +02:00
Arik Fraimovich
91a2b49f4c Merge pull request #2110 from kravets-levko/feature/table-v2
Table v2
2017-12-04 16:15:56 +02:00
Levko Kravets
6d11e8f57a Table viz: CR3 2017-12-04 16:11:04 +02:00
Levko Kravets
1ca0ac6278 Table viz: CR2 2017-12-04 13:27:32 +02:00
Arik Fraimovich
4cd352599a Add v4 to CHANGELOG. 2017-12-04 11:30:24 +02:00
Zsolt Kocsmarszky
4798361d87 Merge branch 'master' into design/refinements-2 2017-12-03 15:29:14 +01:00
Zsolt Kocsmarszky
08b97d0a4e Hide "Data" text from data source 2017-12-03 15:27:39 +01:00
Levko Kravets
a0d9b94488 Table viz: small fixes 2017-12-03 12:54:34 +02:00
Zsolt Kocsmarszky
7272b9904a Improve visualisation embed design (iframe) so it looks better 2017-12-02 23:59:21 +01:00
Levko Kravets
30833100e5 Table viz: search; CR1 2017-12-02 21:55:36 +02:00
Arik Fraimovich
7974c90042 Merge pull request #2111 from kyoshidajp/upgrade_psycopg2
Upgrade psycopg2 for support PostgreSQL 10.0
2017-12-02 21:22:09 +02:00
Katsuhiko YOSHIDA
f4c4e18bf7 Upgrade psycopg2 latest version 2017-12-02 09:11:43 +09:00
Zsolt Kocsmarszky
ca75eb63c6 Separate Query styling and fix a small issue 2017-12-01 16:50:45 +01:00
Zsolt Kocsmarszky
27458599e8 Turn off link when editing a dashboard + show move cursor so it suggests you can drag the widget with its header and move around 2017-12-01 16:15:39 +01:00
Zsolt Kocsmarszky
1d90f2acad Fix line-height 2017-12-01 16:04:39 +01:00
Zsolt Kocsmarszky
60becaf4c2 Nicer highlights fro query dropdown 2017-12-01 15:46:06 +01:00
Zsolt Kocsmarszky
73af14069d Move view/show query to bottom of its section 2017-12-01 15:39:49 +01:00
Levko Kravets
dc4902a800 Minor fixes 2017-12-01 16:18:51 +02:00
Zsolt Kocsmarszky
ccb440c759 Add ref so we know how many people get to know about Redash through shared dashboards 2017-12-01 15:03:54 +01:00
Zsolt Kocsmarszky
f3633b18e7 Move format back to visible place 2017-12-01 15:00:14 +01:00
Zsolt Kocsmarszky
2b43bd7d28 Fix up fullscreen 2017-12-01 14:59:42 +01:00
Zsolt Kocsmarszky
1beeda6b32 Fix filter spacing and remove inline css 2017-12-01 14:35:49 +01:00
Levko Kravets
ed70002f43 Table viz: code improvements 2017-12-01 15:25:58 +02:00
Zsolt Kocsmarszky
83e1ded008 Merge branch 'master' into design/refinements-2
# Conflicts:
#	client/app/components/filters.html
2017-12-01 14:15:46 +01:00
Levko Kravets
015d0c6edd Table viz: custom cell rendering; JSON cell renderer 2017-12-01 13:40:41 +02:00
Katsuhiko YOSHIDA
e17a1a1378 Upgrade psycopg2 for support PostgreSQL 10.0 as a library 2017-12-01 19:31:05 +09:00
Levko Kravets
8fc3af7bb9 Table viz: editor UI 2017-12-01 07:41:09 +02:00
Zsolt Kocsmarszky
3df9d480a4 Change footer for public dashboards 2017-11-30 21:48:25 +01:00
Levko Kravets
127b45a5b1 Table viz: editor 2017-11-30 21:52:21 +02:00
Levko Kravets
e7d0856831 Table viz: show/hide column, reorder columns, content alignment 2017-11-30 19:30:45 +02:00
Levko Kravets
fb44d32ba3 Table viz: multi-column sort, align data, allow html 2017-11-30 15:52:46 +02:00
ariarijp
736c014d51 Return False from annotate_query instead of strip annotation with regex 2017-11-30 00:43:50 +09:00
Arik Fraimovich
3f30693b74 Merge pull request #2102 from ariarijp/fix/typo_in_settings
Fix typo
2017-11-29 12:26:36 +02:00
Arik Fraimovich
4a06e6266e Merge pull request #2105 from kravets-levko/fix/visualization-filters
Fixes related to filters panel
2017-11-28 16:19:50 +02:00
Levko Kravets
0d1ad21a1b getredash/redash/issues/2103 Fix: unnecessary horizontal scroll; fix: viz overlaps filters panel 2017-11-28 15:01:48 +02:00
Zsolt Kocsmarszky
8e8a63acb9 Fix table styling which sits inside a container and not going full width. Apply this to multiple screens. 2017-11-26 20:36:37 +01:00
Zsolt Kocsmarszky
edbec3f49d Fix last-child padding bottom 2017-11-26 20:17:48 +01:00
Zsolt Kocsmarszky
f2eb225f06 Fix cell padding to fit header padding 2017-11-26 20:13:53 +01:00
Zsolt Kocsmarszky
d0ec1ca68d Further adjust table settings 2017-11-26 20:11:01 +01:00
Zsolt Kocsmarszky
51e6087888 Circle profile pictures on user list 2017-11-26 20:10:48 +01:00
Zsolt Kocsmarszky
50fcd8d34d Adjust table header background color 2017-11-26 19:56:06 +01:00
Zsolt Kocsmarszky
37f27fc29a Adjust table styling 2017-11-26 19:53:11 +01:00
Zsolt Kocsmarszky
690ce521ca Fix spacing for all kind of table (normal, condensed) 2017-11-26 18:08:45 +01:00
Zsolt Kocsmarszky
7cbed96945 Fix pagination margin below dynamic-table 2017-11-26 18:00:04 +01:00
Zsolt Kocsmarszky
baa36c97fb Add to readme 2017-11-26 17:53:42 +01:00
Zsolt Kocsmarszky
6bbd1bf288 Add styling readme 2017-11-26 17:51:51 +01:00
Zsolt Kocsmarszky
12ecd23ceb Add Cantarell to the default font-family 2017-11-26 17:47:20 +01:00
Zsolt Kocsmarszky
b9078a28d4 Refine table styling and improve less organisation 2017-11-26 17:42:56 +01:00
Zsolt Kocsmarszky
8e3c62db83 Fix refreash button size to btn-sm 2017-11-26 17:32:13 +01:00
Zsolt Kocsmarszky
9492ff9444 Fix button margins 2017-11-26 17:16:50 +01:00
Zsolt Kocsmarszky
b0177deda0 Move fork query under dropdown, too and remove redundant text information 2017-11-26 16:54:32 +01:00
Zsolt Kocsmarszky
89592d3e80 Fix padding at no schema sources 2017-11-26 16:51:08 +01:00
Zsolt Kocsmarszky
0a6fc27fdd Rearrange query elements 2017-11-26 16:49:02 +01:00
Zsolt Kocsmarszky
a7ca236903 Change source editor and schema browser 2017-11-26 16:31:42 +01:00
ariarijp
b716e5c23d Fix typo 2017-11-27 00:24:01 +09:00
Zsolt Kocsmarszky
063066dfae Tighten up schema browser 2017-11-26 16:05:46 +01:00
Zsolt Kocsmarszky
5bdb34e451 Fix spacing in filters 2017-11-26 15:47:08 +01:00
ariarijp
f4d0609140 Strip annotation from query when path is specified in Script Query Runner 2017-11-26 23:09:12 +09:00
ariarijp
cb62c10a66 Fix create_db command of docker-entrypoint 2017-11-26 13:26:44 +09:00
Zsolt Kocsmarszky
05cc170ab1 Better organised query editor 2017-11-25 16:36:36 +01:00
Zsolt Kocsmarszky
4540256f3e Add proper styling for parameters 2017-11-25 07:29:22 +01:00
Zsolt Kocsmarszky
3d33ebc916 Tightening up Query editor 2017-11-25 07:29:05 +01:00
Zsolt Kocsmarszky
decc0b8ee8 Fix merge conflicts 2017-11-25 06:29:08 +01:00
Zsolt Kocsmarszky
a488de22c4 Merge branch 'master' into design/refinements-2
# Conflicts:
#	client/app/pages/dashboards/public-dashboard-page.html
2017-11-25 06:27:52 +01:00
Zsolt Kocsmarszky
f835aec980 Adjust top margin 2017-11-25 06:25:06 +01:00
Zsolt Kocsmarszky
5893b68daf Public dashboards: remove navbar and add missing footer 2017-11-25 06:17:56 +01:00
Sumit Maheshwari
660c72e608 Add Qubole query runner 2017-11-24 17:30:08 +05:30
Arik Fraimovich
01cf6de4dc Merge pull request #2098 from kravets-levko/fix/sankey-sunburst
Fixed sunburst/sankey issue with rendering
2017-11-23 18:21:20 +02:00
Levko Kravets
fa460223b7 CR1 2017-11-23 18:13:42 +02:00
Arik Fraimovich
39aeef5486 Merge pull request #2097 from ariarijp/fix/query_results
Handling whitespace characters in Query Results data source
2017-11-23 18:00:31 +02:00
Levko Kravets
4006d72831 getredash/redash#2095 Fixed sunburst/sankey issue with rendering; minor UI fixes 2017-11-23 17:42:03 +02:00
ariarijp
93aa28cdf7 Handling whitespace characters in Query Results data source 2017-11-23 21:46:10 +09:00
Arik Fraimovich
8e8278d05e Merge pull request #2081 from kocsmy/design/refinement
Design/refinement
2017-11-22 18:27:05 +02:00
Arik Fraimovich
3d9d658594 Merge pull request #2087 from yershalom/add_cockraochdb_ds
Added new CockroachDB DS to redash
2017-11-22 18:23:36 +02:00
Arik Fraimovich
9ae1bc3051 Merge branch 'master' into design/refinement 2017-11-22 18:20:17 +02:00
Arik Fraimovich
a9384d3a09 Merge branch 'master' into design/refinement 2017-11-22 18:19:40 +02:00
Arik Fraimovich
9bbce6b06a Merge pull request #2053 from cdessanti/patch-1
SQL Query Runner for MAPD database
2017-11-22 18:15:39 +02:00
Arik Fraimovich
b96ab5eb0e Merge pull request #2048 from arjan/elasticsearch-doc-count-aggregation
Elasticsearch: Collect doc_count field from aggregation
2017-11-22 18:12:59 +02:00
Arik Fraimovich
5b91d97e48 Merge pull request #2043 from jezdez/pytest
Move to pytest since nose is unmaintained.
2017-11-22 18:11:59 +02:00
Arik Fraimovich
9de3e975eb Merge pull request #1985 from miketheman/miketheman/user-email-case-insensitive
Ensure email is case-insensitive
2017-11-22 18:11:07 +02:00
Arik Fraimovich
1b7cc3731c Merge pull request #2092 from jasonsmithj/fix/mysql_query_cancel
Fix doesn't work  mysql query cancel button
2017-11-22 18:00:35 +02:00
Arik Fraimovich
e7fdbee59d Merge pull request #2083 from kravets-levko/feature/responsive-visualizations
Responsive visualizations
2017-11-22 18:00:08 +02:00
jasonsmithj
1e12f70cf4 mysql query cancel 2017-11-22 10:53:25 +09:00
Levko Kravets
0ef04e2839 Rebase CSS changes to LESS 2017-11-21 09:18:17 +02:00
Levko Kravets
24ebd8dc53 CR3 2017-11-21 09:08:09 +02:00
Levko Kravets
4af56bd101 Small CSS fix 2017-11-21 09:08:09 +02:00
Levko Kravets
5faf41a18c CR2: fit counter by height (not by width) 2017-11-21 09:08:09 +02:00
Levko Kravets
485f0e3278 CR1 2017-11-21 09:08:09 +02:00
Levko Kravets
21150ad4ca Counter: fix auto-size 2017-11-21 09:08:09 +02:00
Levko Kravets
059da21280 Chart: fit to container on resize 2017-11-21 09:08:09 +02:00
Levko Kravets
24e7ee51ba Fix: Counter flickering; Map, Counter: disappears in mobile mode 2017-11-21 09:08:09 +02:00
Levko Kravets
584cbea017 Better fix for Map viz 2017-11-21 09:08:09 +02:00
Levko Kravets
1d210c774a Fix visualization previews 2017-11-21 09:08:09 +02:00
Levko Kravets
289aa8561f Some fixes for Map viz 2017-11-21 09:08:09 +02:00
Levko Kravets
d765f6edb6 Some fixes for Table and Pivot viz 2017-11-21 09:08:09 +02:00
Levko Kravets
5f5b95b455 Map viz: constraints and position 2017-11-21 09:08:09 +02:00
Levko Kravets
e57d9f4701 Counter viz: fit text to width 2017-11-21 09:08:09 +02:00
Levko Kravets
b26284933c Allow to specify default size for each visualization type 2017-11-21 09:08:09 +02:00
Zsolt Kocsmarszky
825157a549 Friendlier next and prev arrows 2017-11-20 23:21:26 +01:00
Zsolt Kocsmarszky
961144c3b8 Remove Roboto 2017-11-20 22:20:39 +01:00
Zsolt Kocsmarszky
0abfe19c6a Add newstyle to the soup 2017-11-20 22:15:26 +01:00
Zsolt Kocsmarszky
3c1a756ca3 Merge branch 'master' of https://github.com/getredash/redash
# Conflicts:
#	client/app/config/styles.js
2017-11-20 22:10:31 +01:00
Zsolt Kocsmarszky
7f2328d0a5 Adjust bg-ace and table headers 2017-11-20 21:48:15 +01:00
Arik Fraimovich
457b8d9d8a Merge pull request #2091 from kravets-levko/less2
Convert styles to LESS
2017-11-20 22:35:21 +02:00
Levko Kravets
773e5e6393 Convert styles to LESS 2017-11-20 17:46:37 +02:00
Zsolt Kocsmarszky
dfd2d9ecec Remove uppercase and capitalize table and tab headers 2017-11-20 16:10:10 +01:00
Zsolt Kocsmarszky
a1fdaa998b Revert hiding refresh button, still keep refresh functionality on last refreshed date 2017-11-20 16:03:49 +01:00
Arik Fraimovich
7955a83f1d Add paginator only when there are more than 1 pages 2017-11-20 10:19:54 +02:00
Arik Fraimovich
3af1176e70 Fix: two nav bars on my queries page 2017-11-20 10:11:41 +02:00
Zsolt Kocsmarszky
ab77f00526 Move refresh button under latest refresh time 2017-11-19 21:34:40 +01:00
Zsolt Kocsmarszky
835d417d8d Styling improvements on Query screen 2017-11-19 21:19:36 +01:00
Zsolt Kocsmarszky
895d743ab6 Fix description hover 2017-11-19 21:01:10 +01:00
Zsolt Kocsmarszky
68404b8dd3 Styling refinement 2017-11-19 20:44:38 +01:00
Zsolt Kocsmarszky
5b19efdb73 Layout fix for System Status 2017-11-19 20:17:11 +01:00
Zsolt Kocsmarszky
86fc099873 Clean up admin page markup 2017-11-19 17:54:46 +01:00
Zsolt Kocsmarszky
819b109dde Remove uppercase from tab header so it looks friendlier 2017-11-19 17:41:16 +01:00
Zsolt Kocsmarszky
334289b81c Add system fonts as default and simplify the code 2017-11-19 17:38:18 +01:00
Zsolt Kocsmarszky
e64832867e Better organised stylesheet for easier maintainability + an IE fix 2017-11-19 17:14:49 +01:00
Zsolt Kocsmarszky
c3ca2e2ec1 Small improvement on widget styling 2017-11-18 21:02:50 +01:00
Zsolt Kocsmarszky
1115f2a702 Add missing tiled class 2017-11-18 20:16:59 +01:00
Zsolt Kocsmarszky
0b0762f10c Improved pagination 2017-11-18 19:57:45 +01:00
Zsolt Kocsmarszky
f423e0c030 Remove fancy input hover animation 2017-11-18 19:40:07 +01:00
Shalom Yerushalmy
8da40077fa Added one line for pep8 convention 2017-11-16 09:46:52 +02:00
Shalom Yerushalmy
dbf7c90ebc Added new CockroachDB DS to redash 2017-11-16 09:41:02 +02:00
Arik Fraimovich
ff0f5a0dfd Merge pull request #2082 from deecay/pie-subplot-title
Add: Pie chart subplot title
2017-11-15 23:44:33 +02:00
Arik Fraimovich
b702299067 Version bump. 2017-11-15 23:10:56 +02:00
Zsolt Kocsmarszky
a751c03fca Fixing Firefox issues and fine-tuning smaller details 2017-11-14 22:38:31 +01:00
Zsolt Kocsmarszky
1c926830a8 Styling refinements 2017-11-14 21:34:34 +01:00
Zsolt Kocsmarszky
dc8e8b70c5 Hide username on smaller screens + move Query Snippets and hide divider for users 2017-11-14 21:34:11 +01:00
Zsolt Kocsmarszky
315e77b7dd Cleanup settings/user and remove unnecessary tabs 2017-11-14 21:32:53 +01:00
Zsolt Kocsmarszky
c510b35b16 Add tiled class and adjust layout 2017-11-14 21:32:22 +01:00
Zsolt Kocsmarszky
2c2c626c42 Smaller layout, grid and styling fixes 2017-11-13 21:24:43 +01:00
Zsolt Kocsmarszky
fa7eaaebcd remove redundant buttons from home 2017-11-13 21:24:17 +01:00
Zsolt Kocsmarszky
4ed9e01091 Smaller improvements 2017-11-13 21:03:50 +01:00
Zsolt Kocsmarszky
40a83f3579 Fancy caret is only for nav 2017-11-13 20:57:27 +01:00
Zsolt Kocsmarszky
af90928552 Better styling for navigation 2017-11-13 20:48:28 +01:00
Zsolt Kocsmarszky
bf6687352a Unify headers 2017-11-13 20:18:57 +01:00
Zsolt Kocsmarszky
dce64cfdb3 Fix settings container 2017-11-13 19:08:01 +01:00
Zsolt Kocsmarszky
a26195848a Further refine navbar markup and styling 2017-11-13 17:07:59 +01:00
Zsolt Kocsmarszky
43bf4b1cc8 Major navigation refinement 2017-11-13 16:29:09 +01:00
Zsolt Kocsmarszky
9420d2683e Drop 'Updated:' prefix 2017-11-13 15:38:34 +01:00
Zsolt Kocsmarszky
c67e9e3ff5 Further simplify navigation 2017-11-13 15:28:21 +01:00
Zsolt Kocsmarszky
3e7e06d4b4 Add time icon next to updated time 2017-11-13 14:33:50 +01:00
deecay
539cbf4ffc Add: Pie chart subplot title 2017-11-13 01:59:30 +09:00
Zsolt Kocsmarszky
30003297d4 Refine positions for nav new button and logo 2017-11-10 00:22:34 +01:00
Zsolt Kocsmarszky
f9e416a5dd Massive styling refinement 2017-11-09 23:39:53 +01:00
Zsolt Kocsmarszky
727674673e Make Edit/New dashboard modal more obvious 2017-11-09 23:39:31 +01:00
Zsolt Kocsmarszky
b57f78155c Add container for Settings to resolve vertical scroll issue 2017-11-09 23:39:03 +01:00
Zsolt Kocsmarszky
e9b05ad2fd Massive navigation refinement 2017-11-09 23:38:14 +01:00
Zsolt Kocsmarszky
ea7b09d18e Add extra classes for widget elements for easier styling 2017-11-09 23:37:52 +01:00
Zsolt Kocsmarszky
30dc3d779c consistent footer templates 2017-11-09 23:37:21 +01:00
Zsolt Kocsmarszky
0d638cbe4a Better page title so you know where you are and what you're doing 2017-11-09 23:35:49 +01:00
Zsolt Kocsmarszky
92820872a2 Add missing container + remove container from the middle so the layout works better 2017-11-09 23:35:17 +01:00
Zsolt Kocsmarszky
590b7d66b6 Remove unnecessary row class that messes up the layout 2017-11-09 23:34:40 +01:00
Zsolt Kocsmarszky
dfef594f2e Add extra class for easier styling + remove unnecessary h3 around the top right area (bc it messes up everything with h3's margins) 2017-11-09 23:34:04 +01:00
Zsolt Kocsmarszky
4dad07e329 Change order, so All queries comes first on the tabs 2017-11-09 23:32:31 +01:00
Zsolt Kocsmarszky
90fbb3d94e Move global style out from local file 2017-11-09 23:32:04 +01:00
Zsolt Kocsmarszky
3079917527 Collapse section for profile 2017-11-09 23:31:34 +01:00
Zsolt Kocsmarszky
e84e866220 Collapse change password section by default 2017-11-09 23:30:51 +01:00
Zsolt Kocsmarszky
dd4db4be28 Re-align footer so it feels simpler 2017-11-09 23:30:24 +01:00
Zsolt Kocsmarszky
3f609981b7 Re-organise individual user setting screens into one page 2017-11-09 18:54:07 +01:00
Arik Fraimovich
6eca14e441 Merge pull request #2062 from kravets-levko/feature/dashboard-editor
Add: flexible dashboard layout
2017-11-08 11:09:03 +02:00
Levko Kravets
54ade336f5 CR3 2017-11-08 11:06:53 +02:00
Levko Kravets
627dc26004 In editing mode hide menu button and show remove button instead 2017-11-07 16:31:24 +02:00
Levko Kravets
1bb7cc0ad6 Fix: widget menu not visible on small widgets 2017-11-07 15:55:16 +02:00
Levko Kravets
18b4c3eff8 Fix widget auto-height behaviour 2017-11-07 15:46:24 +02:00
Levko Kravets
43bf051d51 Cleanup CSS 2017-11-07 10:41:29 +02:00
Levko Kravets
bbcbb3edc6 CR2 2017-11-06 21:52:23 +02:00
Levko Kravets
8bb9a1a53e CR1 2017-11-06 21:50:11 +02:00
Levko Kravets
6a7d2291b4 getredash/redash#335 Better dashboard editor 2017-11-06 21:50:11 +02:00
Arik Fraimovich
900d558857 CirlceCI: Docker build for release branches. 2017-11-02 10:59:21 +02:00
Arik Fraimovich
c6dc9affed Redshift: change default SSL mode to prefer. 2017-11-02 10:57:54 +02:00
Arik Fraimovich
96486b5c58 Update v3 CHANGELOG. 2017-11-02 10:33:53 +02:00
Arik Fraimovich
7c1565017f Merge pull request #2072 from getredash/feature/query_results
🎉  Add: data source to run queries on top of query results
2017-11-01 16:22:32 +02:00
Arik Fraimovich
7197370ad4 Add Query Results to the default query runners list. 2017-11-01 16:14:45 +02:00
Arik Fraimovich
1cbf09cbbe Add: data source to run queries on top of query results. 2017-11-01 16:10:04 +02:00
Arik Fraimovich
28b4450fa9 Merge pull request #2068 from kyoshidajp/copy_param_value_when_forking
Copy parameters value when forking a query
2017-11-01 15:18:22 +02:00
Arik Fraimovich
a799303f53 Merge pull request #2071 from getredash/bugfixes
Fix #1824: allow only user API key to be used with query refresh API.
2017-11-01 15:12:53 +02:00
Arik Fraimovich
59d6eb662c Merge pull request #2070 from getredash/bugfixes
Fix: require full access to the data source to fork a query.
2017-11-01 15:06:36 +02:00
Arik Fraimovich
4e4a3e13ab Fix #1824: allow only user API key to be used with query refresh API. 2017-11-01 15:05:55 +02:00
Arik Fraimovich
095d07bcb8 Disable fork button for those can't fork 2017-11-01 14:56:11 +02:00
Arik Fraimovich
71a235c79b Merge pull request #2069 from getredash/bugfixes
Fix #1979: API key of one query could be used to get results of another one
2017-11-01 14:47:23 +02:00
Arik Fraimovich
2bc3885977 Fix: require full access to the data source to fork a query.
Ref #1825.
2017-11-01 14:46:29 +02:00
Arik Fraimovich
97217f56c1 Remove unused variables 2017-11-01 13:52:41 +02:00
Arik Fraimovich
ba36f7395d Fix #1979: API key of one query could be used to get results of another one 2017-11-01 13:51:09 +02:00
Arik Fraimovich
ea7ca9e632 Merge pull request #2067 from getredash/params_refresh
Use query result for drop down values implementation updates
2017-11-01 13:50:49 +02:00
Katsuhiko YOSHIDA
5e5fc736bf Copy parameters value when forking a query 2017-11-01 06:27:03 +09:00
Arik Fraimovich
f38e76ad10 Merge pull request #2061 from kyoshidajp/delete_groupid_from_user_when_deleting_group
Delete the group id from user when deleting a group
2017-10-31 22:45:44 +02:00
Arik Fraimovich
80a6f357e3 Merge pull request #2063 from deecay/box-sortx
Fix: Boxplot xaxis sort issue
2017-10-31 22:39:26 +02:00
Arik Fraimovich
bd91288d1a Save only the query id instead of query id and name 2017-10-31 12:40:02 +02:00
Arik Fraimovich
38389a28ed Update eslint config to use longer lines 2017-10-31 12:06:52 +02:00
Arik Fraimovich
9ef9f29213 Query based parameter changes:
- Use $onChanges instead of $watch (fixes an issue where the query
results was constantly reloading).
- Choose the first value when first loading the options.
2017-10-31 12:05:55 +02:00
Arik Fraimovich
a3c2082b7f Fix: move boto3 import to the correct location 2017-10-30 14:53:22 +02:00
deecay
bc5516e941 Fix: Boxplot xaxis sort issue 2017-10-30 17:08:51 +09:00
Arjan Scherpenisse
87c705e5c8 Make the doc_count column integer 2017-10-30 09:07:03 +01:00
Katsuhiko YOSHIDA
65ac8c715e Add user info to db.session 2017-10-29 22:30:53 +09:00
Arik Fraimovich
9874361466 Merge pull request #2060 from kyoshidajp/fix_export_excel
Fix error when exporting list data as Excel file
2017-10-29 15:10:34 +02:00
Arik Fraimovich
b28c8fa227 Merge pull request #2045 from myouju/master
Added 'Use Glue Data Catalog' options in Athena
2017-10-29 14:43:25 +02:00
Katsuhiko YOSHIDA
048bd53eac Delete the group id from user when deleting a group 2017-10-29 11:28:15 +09:00
Katsuhiko YOSHIDA
95c707d028 Fix error when exporting list data as Excel file 2017-10-28 23:16:02 +09:00
Arik Fraimovich
41ec4c857b Update CHANGELOG 2017-10-26 22:17:58 +03:00
Arik Fraimovich
e62acb1d99 Merge pull request #2056 from getredash/boilerplate
Reduce boilerplate in frontend code
2017-10-26 12:06:43 +03:00
Arik Fraimovich
a9dc00aaa6 Remove last relative imports 2017-10-26 10:54:28 +03:00
Arik Fraimovich
38c6152aa0 Move init code into app/config/index.js from app/index.js 2017-10-26 10:00:59 +03:00
Arik Fraimovich
fb723328d4 Add app/lib folder for general client code (instead of app/utils) 2017-10-26 10:00:36 +03:00
Arik Fraimovich
047475562d Support for non relative path imports in client code:
So this:

import { Paginator } from "../../lib";

Becomes:

import { Paginator } from "@/lib";

Makes code cleaner and more portable.
2017-10-26 09:58:24 +03:00
Arik Fraimovich
acd33ec852 Auto register Angular components, pages, etc 2017-10-25 23:34:51 +03:00
Arik Fraimovich
340a23e71c Merge pull request #2054 from jezdez/docker-entrypoint-wildcard
Allow running any command inside the container via the docker entrypoint script.
2017-10-25 22:39:55 +03:00
Jannis Leidel
3db1b7f265 Allow running any command inside the container via the docker entrypoint script.
This allows running generic things like opening a bash shell:

docker-compose run server bash
2017-10-25 20:43:32 +02:00
Arik Fraimovich
845357fa02 Add logging to route registration. 2017-10-25 17:53:28 +03:00
Candido Dessanti
825fff5fe1 Update mapd.py 2017-10-25 07:18:25 +02:00
Candido Dessanti
abda68380e Update mapd.py 2017-10-25 07:11:05 +02:00
cdessanti
886a5eff43 added python driver of Mapd database
the other packages need will be added as deps when pymapd is installed
2017-10-24 18:25:33 +02:00
cdessanti
c3e19858b5 added mapd.py to default query runners 2017-10-24 18:20:31 +02:00
cdessanti
b9d9bcc0be Create mapd.py
query runner to catalog and access to mapd database
2017-10-24 17:58:38 +02:00
Arik Fraimovich
f75e31fa8e Merge pull request #2042 from isomura/modSetupShMkdir
Make /opt/redash directory if it's not exist.
2017-10-23 10:57:11 +03:00
Arik Fraimovich
38be723179 Merge branch 'master' into modSetupShMkdir 2017-10-23 10:56:50 +03:00
Arik Fraimovich
18bf44453d Update bootstrap script to use v2.0.1. 2017-10-22 15:13:30 +03:00
Arik Fraimovich
374f11252f Add v2.0.1. 2017-10-22 15:03:17 +03:00
Mike Fiedler
45a6651aaf Rename class, guard against calling lower() on None
Signed-off-by: Mike Fiedler <miketheman@gmail.com>
2017-10-22 07:53:38 -04:00
Arik Fraimovich
2d3566abce Merge pull request #2046 from sylvainv/patch-1
Make use of REDASH_BASE_PATH variable in setup script
2017-10-22 14:47:58 +03:00
Arik Fraimovich
17d6bfff63 Merge pull request #2012 from yershalom/create_prometheus_ds
Added / on api path to prevent wrong url param
2017-10-22 09:55:41 +03:00
Arik Fraimovich
73540175d8 Merge pull request #2021 from hhamalai/configurable_invitation_token_age
Make invitation token max age configurable
2017-10-22 09:55:11 +03:00
Arjan Scherpenisse
4b9e4593c8 Elasticsearch: Collect doc_count field from aggregation 2017-10-21 07:36:02 +02:00
Sylvain
8c693efb3e Add missing $REDASH_BASE_PATH usage 2017-10-19 01:39:08 -05:00
Sylvain
51392d0398 Add missing $REDASH_BASE_PATH usage 2017-10-19 01:37:11 -05:00
Sylvain
78888c2082 Make use of REDASH_BASE_PATH variable 2017-10-19 01:35:14 -05:00
Arik Fraimovich
bc6bd1b316 Merge pull request #2044 from getredash/redshift
Redshift: add support for the new ACM root CA.
2017-10-18 15:59:05 +03:00
Arik Fraimovich
4060344a72 Merge pull request #2038 from atharvai/feature/redshift-spectrum
Add support for AWS Redshift Spectrum (external) tables
2017-10-18 15:56:14 +03:00
yukimaeno
6522325060 fixed private method 2017-10-18 21:51:46 +09:00
yukimaeno
ae6564e912 Added 'Use Glue Data Catalog' options in Athena 2017-10-18 21:41:13 +09:00
Arik Fraimovich
2af70a6c2d Redshift: add support for the new ACM root CA. 2017-10-18 14:58:50 +03:00
Jannis Leidel
45aad4bdbc Move to pytest since nose is unmaintained. 2017-10-18 13:51:09 +02:00
Arik Fraimovich
a3a1dcf4ba Merge pull request #2040 from cyriac/patch-2
Show query editor's Archive/Publish Query drop-down only on saved queries
2017-10-18 11:20:31 +03:00
isomura
eb979ef130 Make /opt/redash directory if it's not exist. 2017-10-18 09:54:56 +09:00
Cyriac Thomas
7f7fdbba54 show query builder Archive/Publish Query dropdown only on saved queries 2017-10-17 20:28:20 +05:30
Arik Fraimovich
fa213d72a7 Merge pull request #2039 from getredash/filters
Improve filters UI
2017-10-17 17:02:52 +03:00
Arik Fraimovich
d2bf935edb Improve filters UI (labels for */-, label for filter, show values when selected) 2017-10-17 16:35:46 +03:00
Arik Fraimovich
c4349f5c64 Merge pull request #2037 from getredash/patches
Add: option to set allowDiskUse in MongoDB queries
2017-10-16 10:19:55 +03:00
Arik Fraimovich
b5a6f4a166 Merge pull request #2028 from kyoshidajp/autofocus_in_1st_input_item
Set auto focus in first input items
2017-10-16 10:08:19 +03:00
Arik Fraimovich
79807dfa14 Typo fix. 2017-10-16 10:07:25 +03:00
Arik Fraimovich
0b0ec90987 Update gunicorn to latest version 2017-10-16 09:19:13 +03:00
Arik Fraimovich
a9fc220ec8 Merge pull request #2034 from getredash/patches
Add: disabled status to Organization
2017-10-16 09:18:55 +03:00
Arik Fraimovich
ee9bbbaa7c Merge pull request #2024 from cyriac/patch-1
Fixed stage label typo error on sankey and sunburst-sequence editors
2017-10-15 22:51:57 +03:00
Arik Fraimovich
12cc4e5ff9 Add: option to set allowDiskUse in MongoDB queries. 2017-10-15 15:54:04 +03:00
Arik Fraimovich
b5b5643090 Add: disabled status to Organization 2017-10-15 15:51:41 +03:00
Arik Fraimovich
6718081a49 Merge pull request #2033 from getredash/patches
Add: option to disable SQLAlchemy connection pool
2017-10-15 15:51:12 +03:00
Arik Fraimovich
138087861c Add missing import 2017-10-15 15:39:41 +03:00
Arik Fraimovich
9a88cf1743 Merge branch 'patches' of github.com:getredash/redash into patches 2017-10-15 15:37:51 +03:00
Arik Fraimovich
2ca93599ef Merge pull request #2032 from getredash/patches
Add: option to set a time limit on adhoc queries
2017-10-15 15:37:22 +03:00
Arik Fraimovich
ef85a06d60 Fix import. 2017-10-15 15:16:31 +03:00
Arik Fraimovich
f7ffc75ba4 Add: option to disable SQLA connection pool. 2017-10-15 15:09:18 +03:00
Arik Fraimovich
f28eda4174 Merge pull request #2031 from getredash/patches
Add: option to disable sending an invite to a new user
2017-10-15 15:07:17 +03:00
Arik Fraimovich
c5458af1a0 Add: option to set a time limit on adhoc queries 2017-10-15 15:02:34 +03:00
Arik Fraimovich
c28ced14c6 Merge pull request #2030 from getredash/patches
Change: make log format configurable.
2017-10-15 15:00:27 +03:00
Arik Fraimovich
1110e17c4a Add: option to disable sending an invite to a new user 2017-10-15 14:56:26 +03:00
Arik Fraimovich
3b9c31a056 Change: make log format configurable. 2017-10-15 14:52:12 +03:00
Arik Fraimovich
38b655ce3a Merge pull request #2029 from getredash/patches
Change: sort series by name.
2017-10-15 14:36:41 +03:00
Arik Fraimovich
0ec9b73eb2 Change: sort series by name. 2017-10-15 14:33:55 +03:00
Katsuhiko YOSHIDA
b67369daa4 Set auto focus in first input items 2017-10-15 00:02:14 +09:00
Cyriac Thomas
cbc7eee592 fixed stage label typo on sankey and sunburst-sequence editors 2017-10-13 14:44:52 +05:30
Atharva Inamdar
d512cef5af Add support for AWS Redshift Spectrum (external) tables 2017-10-12 14:46:07 +01:00
Atharva Inamdar
c6d1fc103c Merge pull request #1 from getredash/master
merge base master with this fork
2017-10-12 14:43:54 +01:00
Harri Hämäläinen
bf5b31b252 Make invitation token max age configurable 2017-10-12 09:04:45 +03:00
Arik Fraimovich
0c404fa602 Merge pull request #1906 from kitsuyui/add-query-runner-azure-sql-data-warehouse
Query Runner for Azure SQL Data Warehouse
2017-10-11 10:27:02 +03:00
Arik Fraimovich
0ebb6ada3c Merge pull request #2017 from yutannihilation/fix-docker-compose
Fix docker-compose.production.yml
2017-10-11 10:01:25 +03:00
Hiroaki Yutani
d2e519cc3b fix docker-compose.production.yml 2017-10-11 09:53:04 +09:00
Mike Fiedler
be232543d6 Use a custom EmailType/CaseInsensitiveComparator
sqlalchemy doesn't appear to have a case sensitive column, so we craft a
type that can have the semantics of case insensitive comparison.

Ref http://docs.sqlalchemy.org/en/rel_1_1/orm/extensions/hybrid.html#building-custom-comparators

Signed-off-by: Mike Fiedler <miketheman@gmail.com>
2017-10-10 18:32:00 -04:00
Mike Fiedler
9076715d84 Ensure email is case-insensitive
While RFC 5321 alows for the username/mailbox art of the address to be
case-sensitive, it is hightly discouraged.

    The local-part of a mailbox MUST BE treated as case
    sensitive. Therefore, SMTP implementations MUST take care to
    preserve the case of mailbox local-parts. In particular, for
    some hosts, the user "smith" is different from the user
    "Smith". However, exploiting the case sensitivity of mailbox
    local-parts impedes interoperability and is discouraged.
    Mailbox domains follow normal DNS rules and are hence not
    case sensitive.
    -- https://tools.ietf.org/rfc/rfc5321.txt

Signed-off-by: Mike Fiedler <miketheman@gmail.com>
2017-10-10 17:49:50 -04:00
Shalom Yerushalmy
9b38f1e81c Added / on api path to prevent wrong url param 2017-10-10 16:28:11 +03:00
Arik Fraimovich
f03c173c57 Merge pull request #2003 from yershalom/create_prometheus_ds
Create prometheus ds
2017-10-10 11:43:59 +03:00
Arik Fraimovich
f89842801f Make URL required. 2017-10-10 11:41:34 +03:00
Arik Fraimovich
56d4ad74a8 Change get_schema to call requests directly. 2017-10-10 11:40:33 +03:00
Arik Fraimovich
334e95afa0 Merge pull request #2004 from modomoto/make_test_run_configurable
Allow setting test file with docker test run
2017-10-09 17:31:25 +03:00
Arik Fraimovich
0443d84848 Merge pull request #2008 from getredash/patches
Change: use outdated queries count stored already in Redis.
2017-10-09 16:43:59 +03:00
Arik Fraimovich
d38f251688 Change: use outdated queries count stored already in Redis. 2017-10-09 16:28:34 +03:00
Arik Fraimovich
890243eb20 Merge pull request #2007 from getredash/patches
Show links based on permissions the user have.
2017-10-09 16:23:34 +03:00
Arik Fraimovich
9fed3266e6 Show links based on permissions the user have. 2017-10-09 16:21:23 +03:00
Shalom Yerushalmy
8fb665be08 Some pep8 styling 2017-10-09 16:19:29 +03:00
Shalom Yerushalmy
c19253648e Changed prometheus name 2017-10-09 16:18:04 +03:00
Mehmet Emin INAC
b8d2df7567 Allow setting nosetests options via environment variable
By setting TEST_ARGS environment variable with -e option of docker-compose
we can set nosetests options to run the tests as we want, like so;

`docker-compose run --rm -e TEST_ARGS="--with-coverage tests/handlers/test_dashboards.py" server tests`
2017-10-09 15:12:04 +02:00
Arik Fraimovich
4603152930 Merge pull request #2006 from getredash/patches
Fix: support UTF8 in MySQL schema
2017-10-09 16:10:41 +03:00
Shalom Yerushalmy
e33e90a69d Remove stftime cause redash already handles this 2017-10-09 16:10:22 +03:00
Arik Fraimovich
f5dcb5d58d Merge pull request #2005 from getredash/patches
Fix: TreasureData queries were failing when returning 0 rows.
2017-10-09 16:09:45 +03:00
Arik Fraimovich
f2f6abe775 Fix: support UTF8 in MySQL schema 2017-10-09 16:09:38 +03:00
Arik Fraimovich
c33189a355 Fix: TreasureData queries were failing when returning 0 rows. 2017-10-09 16:05:58 +03:00
Shalom Yerushalmy
781d997e76 Added redash types 2017-10-09 16:05:11 +03:00
Shalom Yerushalmy
35e02d8043 Changed the timestamp to float 2017-10-09 16:03:35 +03:00
Arik Fraimovich
720af7dabf Update .gitignore 2017-10-09 13:45:58 +03:00
Shalom Yerushalmy
487a8c798c Added back the response.raise_for_status() line 2017-10-09 13:43:43 +03:00
Shalom Yerushalmy
0f580f4540 Changed file due to Arik's request 2017-10-09 13:37:23 +03:00
Arik Fraimovich
cb21024e5c Merge pull request #1981 from yershalom/upgrade_cassandra_version
Upgrade cassandra version
2017-10-09 11:39:03 +03:00
Shalom Yerushalmy
df7b970ff7 Fixed line from 123 char to 120 char due to code climate fail 2017-10-09 11:28:26 +03:00
Shalom Yerushalmy
ff4edb4fbd Added new Promethues data source 2017-10-09 11:20:30 +03:00
Arik Fraimovich
131c9ef036 Merge pull request #1976 from muddydixon/feature/docker-compose-restart-always
users using docker-compose require restart always
2017-10-09 09:36:19 +03:00
Arik Fraimovich
a3071a3ba1 Restart only postgres/redis in dev setup. 2017-10-09 09:36:09 +03:00
Arik Fraimovich
8d5ce85954 Merge pull request #1993 from deecay/box-color
Fix: Setting series color for boxplot
2017-10-09 09:28:09 +03:00
Arik Fraimovich
9d3ae2c34a Merge pull request #1998 from modomoto/fix_revoke_permissons_bug
[FIX] Revoke permission should respect to given grantee and access type.
2017-10-09 09:27:10 +03:00
Mehmet Emin INAC
6d2337b332 Revoke permission should respect to given grantee and access type.
The issue is, if you try to revoke the permission of a user from an
object, all the permissions on this object get removed. The fix is
assigning filtered query object to it's own reference.

According to SQLAlchemy documentation, `filter` method applies to
the **copy** of the query object which means calling filter doesn't
affect the object receiving filter call. For more information;
http://docs.sqlalchemy.org/en/latest/orm/query.html#sqlalchemy.orm.query.Query.filter
2017-10-06 12:52:35 +02:00
Arik Fraimovich
1ef2238d65 Merge pull request #1995 from cclauss/modernize-python2-code
Modernize Python 2 code to get ready for Python 3
2017-10-04 22:29:32 +03:00
muddydixon
521d05279b fixed according to https://github.com/getredash/redash/pull/1976#issuecomment-333370285 2017-10-04 10:01:10 +09:00
cclauss
01e85f218a Modernize Python 2 code to get ready for Python 3 2017-10-04 02:06:53 +02:00
Arik Fraimovich
8af028bc90 Merge pull request #1994 from kravets-levko/fix/eslint-error
Fixed eslint "Cannot read property 'length' of undefined" error
2017-10-03 22:49:43 +03:00
Levko Kravets
85da5fced1 Fixed eslint "Cannot read property 'length' of undefined" error 2017-10-03 21:15:10 +03:00
deecay
038d3b1004 Fix: Setting series color for boxplot 2017-10-03 10:25:07 +09:00
Arik Fraimovich
6cf2b94a10 Merge pull request #1989 from getredash/patches
Add option to set the flask-limiter storage engine
2017-10-02 17:26:27 +03:00
Arik Fraimovich
c930c44e3a Add option to set the flask-limiter storage engine 2017-10-02 17:25:54 +03:00
Arik Fraimovich
0753332ef8 Merge pull request #1988 from getredash/patches
Fix: don't crash query editor when there are unclosed curly brackets.
2017-10-02 17:01:22 +03:00
Arik Fraimovich
ed9e409e17 Fix: don't crash query editor when there are unclosed curly brackets. 2017-10-02 16:58:27 +03:00
Arik Fraimovich
c40fffa107 Merge pull request #1986 from getredash/patches
Fix: error value in charts wasn't displayed if it was 0.
2017-10-02 16:43:27 +03:00
Arik Fraimovich
d597665a86 Fix: error value in charts wasn't displayed if it was 0. 2017-10-02 16:43:06 +03:00
Arik Fraimovich
b0bec26138 Merge pull request #1975 from rohithmenon/bugfix/query_based_param
Bugfix/query based param
2017-10-01 14:32:48 +03:00
Arik Fraimovich
0d44466967 Merge pull request #1984 from getredash/patches
Cohort visualization: make it friendlier to use.
2017-10-01 14:26:47 +03:00
Arik Fraimovich
f4cb62782a Merge pull request #1983 from getredash/patches
Fix: Queries#all_queries was sometimes returning wrong number of queries
2017-10-01 14:26:20 +03:00
Arik Fraimovich
3cadd6731c Fix: tests entering endless loop, due to bad input. 2017-10-01 14:26:04 +03:00
Arik Fraimovich
fc18b84f69 Cohort visualization: make it friendlier to use.
Now it can handle gaps in data, so it's easier to generate the data needed.
2017-10-01 14:24:10 +03:00
Arik Fraimovich
f7fc679427 Merge pull request #1965 from alexmuller/firefox-textarea-keydown-prevent-enter
Prevent line breaks in EditInPlace description when using Firefox
2017-10-01 14:23:29 +03:00
Arik Fraimovich
e674b715ef Merge pull request #1966 from alexmuller/different-markdown-library
Use a different markdown library
2017-10-01 14:22:23 +03:00
Arik Fraimovich
029f6335ed Add missing import. 2017-10-01 14:19:26 +03:00
Shalom Yerushalmy
fb4153add7 Upgarde cassasndra-driver version to 3.11.0 2017-09-28 13:28:21 +03:00
Arik Fraimovich
ada8a1255b Fix: Queries#all_queries was sometimes returning wrong number of queries. 2017-09-27 18:17:57 +03:00
Arik Fraimovich
505f338da9 Merge pull request #1978 from getredash/patches
Fix #1950: record_event fails for api events
2017-09-27 18:08:57 +03:00
Arik Fraimovich
18d9b2eec9 Fix #1950: record_event fails for api events 2017-09-27 18:04:21 +03:00
muddydixon
41a03352b9 users using docker-compose require restart always 2017-09-27 17:26:39 +09:00
Rohith Menon
50f817e265 Merged with upstream 2017-09-26 23:18:50 -07:00
Rohith Menon
04ddb289ee Merged with upstream 2017-09-26 23:13:02 -07:00
Rohith Menon
0152250e14 Bugfix: column.type not set by many data sources [sqlite, postgres etc] 2017-09-26 23:07:18 -07:00
Alex Muller
f574cdd179 Use a different markdown library
`marked` has some security vulnerabilities which have been unresolved
for a while. `markdown` seems to be better supported.
2017-09-22 19:08:07 +01:00
Alex Muller
458f213ea7 Update npm-shrinkwrap
Not sure why this hadn't been updated previously.
2017-09-22 18:42:46 +01:00
Alex Muller
f2caae6eb1 Use event.preventDefault() on EditInPlace textarea
Before this change, pressing enter in Firefox 55 would insert a line
break into the description field and then save it.

This change prevents the line break from being inserted before saving.

There's no change to Chrome's behaviour from this change.
2017-09-22 17:54:02 +01:00
Alex Muller
c01cd89de9 Remove magic numbers from EditInPlace()
This makes it a lot easier to read and figure out what's going on.
2017-09-22 17:51:30 +01:00
Alex Muller
5ea3ed7308 Update redirected link in README 2017-09-22 17:51:10 +01:00
Arik Fraimovich
50eb9a86c9 Merge pull request #1961 from fan-t-endo/writer_encode_errors
UnicodeWriter errors code to environment
2017-09-21 21:39:59 +03:00
Shalom Yerushalmy
12cbfc5d12 Added timeout to cassandra 2017-09-18 12:06:35 +03:00
kitsuy
ba7ed5c6f0 Renaming SQL Server to SQL Server ODBC 2017-09-15 19:50:39 +09:00
kitsuy
4fbfa682fe Import types_map and MSSQLJSONEncoder from mssql. It is same. 2017-09-15 19:24:47 +09:00
kitsuy
fb1139a2ea Remove query encoding.
Do not have to encode query.
`execute()` take an unicode query arguments in pyodbc.
2017-09-15 19:02:20 +09:00
kitsuy
8d8ec1a5f8 Rename to Microsoft SQL Server (ODBC) 2017-09-15 18:31:33 +09:00
kitsuy
7582b3174d Add default driver in configuration_schema to specify driver more easily 2017-09-15 18:28:38 +09:00
kitsuy
154b554ecd Remove tds_version (no longer used) 2017-09-15 18:26:21 +09:00
kitsuy
316e014cfa Rename to SQLServerODBC for more precise. 2017-09-15 18:24:39 +09:00
fan-t-endo
048d8fcb5b UnicodeWriter errors code to environment 2017-09-15 17:56:27 +09:00
Arik Fraimovich
8bbb1cdfd4 Fix: wrong variable name used (dataRow instead of row)
Thanks @wu123456. 

Closes #1926.
2017-09-13 22:20:05 +03:00
Arik Fraimovich
94175b8a52 Merge pull request #1899 from queeno/add_oracle_53_support
Fix #1843: Remove deprecated cx_Oracle types
2017-09-13 18:48:14 +03:00
Simon Aquino
c350b43a5a Update oracle client version 2017-09-13 17:40:44 +02:00
Simon Aquino
b379c13e8b Update supported Oracle version 2017-09-13 17:39:04 +02:00
Simon Aquino
7d91e9d173 Fix #1843: Remove deprecated cx_Oracle types
FIXED_UNICODE, LONG_NCHAR, LONG_UNICODE and UNICODE have been removed
from cx_Oracle version 5.3 and should be removed from the TYPES_MAP.
2017-09-13 17:31:40 +02:00
Arik Fraimovich
1b15ea8af9 Merge pull request #1727 from crowdworks/salesforce-error-message
improve Salesforce error message
2017-09-13 17:39:19 +03:00
Arik Fraimovich
e76efc9cdf Merge pull request #1896 from StantonVentures/textbox_editing_fix
Textbox editing fix
2017-09-13 16:03:22 +03:00
Arik Fraimovich
0a311bf63f Merge pull request #1873 from deecay/fix-custom-js
Custom JS code chart improvements
2017-09-13 15:46:43 +03:00
Arik Fraimovich
5069edb9b1 Merge pull request #1876 from TylerBrock/ssl-postgres
Add SSL configuration option for PostgreSQL
2017-09-13 15:44:07 +03:00
Arik Fraimovich
90162b6331 Merge pull request #1920 from deecay/counter-format-string
Counter value string formatting
2017-09-13 15:39:52 +03:00
Arik Fraimovich
398812a14f Merge pull request #1928 from rohithmenon/feature/query_based_parameter
Feature/query based parameter
2017-09-13 15:35:50 +03:00
Arik Fraimovich
2e44872b49 Merge pull request #1955 from getredash/fix_mysql
MySQL: multiple queries support & connection timeout
2017-09-13 14:48:44 +03:00
Arik Fraimovich
e02fdb3e37 MySQL: add support for multiple queries (returning results only of the last one) 2017-09-13 14:38:56 +03:00
Arik Fraimovich
234edd339c MySQL: add connection timeout for bad hosts 2017-09-13 14:38:28 +03:00
Arik Fraimovich
e5cbdf3036 Merge pull request #1946 from Posnet/select-all
Add ability to easily select all for multi-filter
2017-09-13 14:29:15 +03:00
Arik Fraimovich
9b85890204 Merge pull request #1954 from labradorcouk/master
Upgraded dql version to 0.5.24
2017-09-13 14:26:53 +03:00
Antonio Terreno
6295e88d43 Upgraded dql version to 0.5.24 - this allows to query tables in dynamo which have keys with dashes in the name 2017-09-13 09:12:44 +01:00
Arik Fraimovich
7796a57d43 Merge pull request #1930 from mfouilleul/master
Cassandra: get_schema support for both C* 2.x and 3.x, support for SortedSet type serialization.
2017-09-12 15:59:36 +03:00
Rohith Menon
df7fd13bfd Hovertext length (#3)
* Namelength for hoverlabel to avoid truncation

* Update npm-shinkwrap.json
2017-09-06 21:08:18 -07:00
Rohith Menon
6a5a843478 Merge branch 'master' of https://github.com/getredash/redash 2017-09-05 10:35:40 -07:00
Alec Posney
7d4fb280ba Add ability to easily select all for multi-filter
The multi filter option is useful but lacking in an easy easy way to
select all values. I have added in a psudo option '*' that when selected
automatically fills out the mutli-select with all possible filters.

I have also added in a second psudo option '-' which becomes available
_if_ the multi-filter has all possible values selected.
This makes it easy to clear the multi-filter.
2017-09-05 13:31:04 +10:00
Arik Fraimovich
2a22b98c77 Merge pull request #1944 from getredash/fix_permissions
Fix: collaborators couldn't edit visualizations or schedule
2017-09-03 15:00:27 +03:00
Arik Fraimovich
6b56e4a3e3 Allow collaborators to update query schedule. 2017-09-03 14:31:42 +03:00
Arik Fraimovich
47fc6612bf Allow collaborators to create, delete and edit visualizations. 2017-09-03 14:28:34 +03:00
Rohith Menon
f3e5c22c07 Merge/query based parameter (#2)
* Feature: Query based parameter (drop-down)

* Restrict to string column for query parameter

* Fix lint errors

* Fix html in paramters.html

* Addressed comments from @arikfr
2017-08-23 20:48:02 -07:00
Maxime Fouilleul
b42d2c5784 Fix codeclimate notices (trailing space) 2017-08-17 18:19:19 +02:00
Maxime Fouilleul
478a86a892 Fix codeclimate notices (SQL) 2017-08-17 18:17:53 +02:00
Maxime Fouilleul
9e0205d148 Improve and fix cassandra query runner 2017-08-17 18:10:16 +02:00
Rohith Menon
59b7961bcd Addressed comments from @arikfr 2017-08-16 16:04:00 -07:00
Arik Fraimovich
5b54a777d9 Merge pull request #1863 from 44px/ng-annotate-deprecation
Replace deprecated ng-annotate with babel plugin
2017-08-16 16:21:23 +03:00
Arik Fraimovich
3af9b333a8 Merge pull request #1898 from StantonVentures/security_lib_updates_7_27_2017
update libraries
2017-08-16 16:19:57 +03:00
Arik Fraimovich
dcaecdbe16 Merge pull request #1921 from deecay/error-bar-color
Fix: error bar color in sync with series color
2017-08-16 16:19:04 +03:00
Arik Fraimovich
3aa7d86699 Update bootstrap.sh 2017-08-16 16:16:00 +03:00
Rohith Menon
feab2a7e7b Fix html in paramters.html 2017-08-15 13:53:55 -07:00
Rohith Menon
d18220c1af Feature/query based parameter (#1)
* Feature: Query based parameter (drop-down)

* Restrict to string column for query parameter

* Fix lint errors
2017-08-14 21:47:48 -07:00
Rohith Menon
8074a91b29 Fix lint errors 2017-08-14 09:20:58 -07:00
Rohith Menon
72560d985f Restrict to string column for query parameter 2017-08-14 09:15:28 -07:00
Rohith Menon
ff2c8524de Feature: Query based parameter (drop-down) 2017-08-14 00:38:41 -07:00
Alison
1bdea11fe3 updates based on PR comments 2017-08-11 21:17:30 -05:00
Arik Fraimovich
a7bed64707 Merge pull request #1836 from amarjayr/master
LDAP (Active Directory) implementation
2017-08-09 20:46:17 +03:00
Arik Fraimovich
dc969fe0b5 Bump version. 2017-08-09 20:45:26 +03:00
Amar Ramachandran
588c868060 Make ldap3 requirement optional 2017-08-09 10:32:44 -07:00
deecay
e739f90405 Fix: error bar color in sync with series color 2017-08-08 18:27:42 +09:00
deecay
a07135c638 Move counter visualiation formatting controls to tab 2017-08-08 17:45:37 +09:00
kitsuy
974f69aecf Query Runner for Azure SQL Data Warehouse
- This is almost copied from mssql.py.
- Microsoft's driver installation is here: https://www.microsoft.com/en-us/sql-server/developer-get-started/node/ubuntu/
2017-08-03 13:22:45 +09:00
deecay
1a8078ab03 Fix: Custom code keeps appending trace per refresh 2017-07-31 19:22:25 +09:00
Alison
1bc8d586c3 update libraries
Based on pyup auto-PR httplib2 and cryptography needed updating which
necessitated updating pyOpenSSL as well.
2017-07-27 21:15:39 -05:00
Alison
a795f1463b Fixes dashboard textbox editing
Combines mozilla/redash PR’s 86 and 95.

There was a bug that saved textbox content on a dashboard when you
tried to close without saving. This fixes it.
2017-07-26 23:15:22 -05:00
Alison
aae77a8b25 Merge remote-tracking branch 'getredash/master' 2017-07-25 15:19:24 -05:00
deecay
c278209883 Counter visualiation formatting 2017-07-25 19:26:52 +09:00
Tyler Brock
6d8880c10d Add SSL configuration option for PostgreSQL 2017-07-19 11:14:40 -07:00
deecay
aacc4b7b46 Fix: Custom code keeps appending trace per refresh 2017-07-11 17:44:05 +09:00
deecay
605a70d554 Add toggle for automatically updating graph 2017-07-11 17:31:16 +09:00
deecay
73466dc0e0 Make custom js textarea resizable 2017-07-11 15:43:09 +09:00
deecay
3fd90c6289 Fix: Custom code didn't load into editor 2017-07-11 10:15:47 +09:00
Alexander Shepelin
53f0716aca Replace deprecated ng-annotate with babel plugin 2017-07-02 14:22:36 +03:00
Amar Ramachandran
b9e08897ac Move ldap auth logic to function 2017-06-29 11:33:57 -07:00
Amar Ramachandran
300421792c Add log error when LDAP connection fails
Integrate ldap login in login template
2017-06-28 13:32:24 -07:00
Amar Ramachandran
85f729260b Clean up file 2017-06-20 15:33:32 -07:00
Amar Ramachandran
8bf2c15db8 Add ldap auth logic 2017-06-20 15:33:32 -07:00
Amar Ramachandran
9ea4784f87 Add ldap3 requirement 2017-06-20 15:33:32 -07:00
Amar Ramachandran
8be9613640 Add ldap env. config settings 2017-06-20 15:33:32 -07:00
Amar Ramachandran
b611c98112 Add ldap blueprint 2017-06-20 15:33:32 -07:00
Akira Yumiyama
f852f935c5 improve Salesforce error message 2017-04-18 23:37:05 +09:00
512 changed files with 34535 additions and 7853 deletions

View File

@@ -1,5 +1,9 @@
[run]
branch = True
source = redash
[report]
omit =
*/settings.py
*/python?.?/*
*/site-packages/nose/*
show_missing = True

View File

@@ -1,10 +1,17 @@
Welcome to Redash's GitHub repo! 👋🎉
<!--
#####################################################################
#
# Need support? USE THE FORUM! https://discuss.redash.io/c/support.
#
# Don't have steps to reproduce and actually not sure it's a bug?
# Use the forum! https://discuss.redash.io/c/support.
#
#####################################################################
Do you need help or have a question? Checkout the Support category in our discussion forum: https://discuss.redash.io/c/support.
Got an idea for a new feature? Check if it isn't on the roadmap already: http://bit.ly/redash-roadmap and start a new discussion in the features category: https://discuss.redash.io/c/feature-requests 🌟.
**Got an idea for a new feature?** Check if it isn't on the roadmap already: http://bit.ly/redash-roadmap and start a new discussion in the features category: https://discuss.redash.io/c/feature-requests 🌟.
Found a bug? Please fill out the sections below... thank you 👍
-->
### Issue Summary

12
.gitignore vendored
View File

@@ -1,7 +1,11 @@
.venv
.cache
.coverage.*
.coveralls.yml
.idea
*.pyc
.coverage
coverage.xml
client/dist
.DS_Store
celerybeat-schedule*
@@ -9,14 +13,8 @@ celerybeat-schedule*
\#*#
*~
_build
# Vagrant related
.vagrant
Berksfile.lock
redash/dump.rdb
.vscode
.env
.ruby-version
venv
dump.rdb

View File

@@ -1,5 +1,252 @@
# Change Log
## UNRELEASED
### Added
- MatterMost alert destination. @alon710
- Full screen view on map visualizations. @deecay
- Choropleth map visualization 🗺. @kravets-levko
- Report Celery queue size. @arikfr
- Load dashboard refresh rate from URL. @arikfr
- Configuration for query refresh intervals. @arikfr
### Changed
- TreasureData: improve query failure message. @toru-takahashi
- Update botocore version (fixes an issue with loading Athena tables). @arikfr
- Changed Map visualization name to "Map (Markers)" to distinguish from the Choropleth one. @arikfr
- Use MongoClient for ReplicaSet connections. @fmy
- Update pymongo version to support newer MongoDB versions. @arikfr
- Changed "his" to "their" in user creation form success message. @tnetennba3
- Show friendly names in dynamic forms labels. @arikfr
- Render safe HTML by default in tables to remain backward compatible. @arikfr
- Apply time limit to alert status checking task. @arikfr
- Plotly: increase Y value accuracy. @arikfr
- close metadata database connection early in the execute query Celery task. @arikfr
### Fixed
- Query page layout gets messed up when clicking on "cancel" in "Do you want to leave this page?" dialog. @kravets-levko
- docker-entrypoint broke for other database names than "postgres". @valentin2105
- (BigQuery) UDF URI was used even if empty. @arikfr
- Show correct Box Plot chart hover data. @deeccay
- Fork button shows in data only view, but not working. @arikfr
- Saving widget sends too much data to the server, sometimes making dashboard save fail. @arikfr
- DynamoDB: always return counter as a number rather than string. @arikfr
- MSSQL: UUID fields were detected as booleans. @arikfr
- The whole dashboard page reloads when clicking on refresh. @arikfr
- Line chart with category x-axis: when some values missing, wrong hints displayed on hover. @kravets-levko
- Second Y-axis not displayed when stacking enabled. @kravets-levko
- Widget with empty contents had extra 40px of white space (paddings of container). @kravets-levko
- Add scrollbars to pivot table widgets. @kravets-levko
- Multiple performance, usability and auto-height related fixes to the dashboard rendering engine (also switched to GridStack). @kravets-levko
- Login form missing on LDAP logging page. @idalin
- Empty state: show connect data source link only to admins. @arikfr
- Dashboard "dancing" widgets (when auto-height enabled). @kravets-levko
### Other
- Webpack: ignore vim swap files. @deecay
## v4.0.0-rc.1 - 2018-03-05
### Added
- Configuration for query refresh intervals.
- [Prometheus] Support for range queries. @jubel-han
- Extensions system based on Python entrypoints. @jezdez
- Funnel visualization. @tonyjiangh
- UI to edit allowed Google OAuth domains. @arikfr
- Empty state for homepage, alerts, queries and dashboards pages. @kocsmy, @arikfr
### Changed
- Maintain widget's auto-height state until it's been resized by the user. @kravets-levko
- Change default table viz width from 4 to 3 columns. @kravets-levko
- When saving dashboard adding or removing widgets, save only modified widgets (with changed size and/or position). @kravets-levko
- Don't allow disabling Password based login if no SSO is enabled. @arikfr
- Always show login page, even if password based login disabled. @arikfr
- Upgrade `sqlparse` to 0.2.4. @ariarijp
- Make sure datetime/number columns in table visualization don't wrap. @kravets-levko
- Explicitly set order of tabs in settings page. @kravets-levko
- User can no longer change the type of a saved visualization. @kravets-levko
- Update docker-compose.yml to restart postgres/redis containers `unless-stopped`. @benmanns
- New default colors for chart visualizations. @kocsmy
- Updated design of all the authentication pages (login, forgot password, etc). @kravets-levko
### Fixed
- Glue schemas with more than 100 tables were showing only first 100 tables. @jezdez
- Long visualizations dind't render scrollbars on some browsers. @kravets-levko
- When the dataset was returning some columns name as non strings, table couldn't be rendered. @kravets-levko
- Missing logos for Prometheus and Snowflake. @kocsmy
- Render correct link to LDAP login on login page. @arikfr
- Sort widgets by column/row to make sure they are placed correctly. @arikfr
- Public dashboards were not rendered due to Javascript error. @kravets-levko
## v4.0.0-beta - 2018-02-14
### Added
- Massive update to the UI/UX of the whole application. @kocsmy, @kravets-levko, @arikfr
- Flexible dashboard layout: resize widgets both vertically and horizonally. @kravets-levko
- Configuration and new options for the table visualization. @kravets-levko
- API to return internal usage events. @arikfr
- Add an option to set a common prefix to the backend logs. @arikfr
- [MongoDB] support nested fields in results. @arikfr
- Cohort visualization: add options and fix rendering logic. @kravets-levko
- Table visualization: `URL` column type. @kravets-levko
- Table visualization: `Image` column type. @kravets-levko
- [BigQuery] show amount of data scanned. @arikfr
- Make dashboard refresh intervals configurable. @arikfr
- Button to insert table/column name from schema into the query text. @kravets-levko
- [Athena] show amount of data scanned. @washort
- [Salesforce] Add setting to set the API version. @mayconbordin
- UI for configuration options (auth, date format, etc). @arikfr
- CLI command to create the root user. @kyoshidajp
- [Redshift] support for loading late binding views in schema browser. @tonyjiangh
- Show user's profile picture and load it from Google when using Google OAuth. @kyoshidajp
- CockroachDB query runner. @yershalom
- MAPD query runner. @cdessanti
- Pie chart: show subplot titles. @deecay
### Changed
- Make trusted header authentication compatible with multiorg mode. @sjakthol
- Update AWS RDS certificate bundle. @arikfr
- Add Prometheus to the default query runners list. @arikfr
- [Athena] update botocore version to support Glue. @arikfr
- Support for quotes passwords in the Redis and Postgres connection URLs. @javier-sanz
- Change the way static assets are served. @arikfr
- [BigQuery] Properly handle RECORD fields in schema (show the nested fields). @arikfr
- Upgrade to Celery 3.1.25 in preparation to Celery 4. @jezdez
- Remove loading indicator when updating query parameter value (before executing). @kravets-levko
- Improvements to the chart visualization (see #2156 for details). @kravets-levko
- Start searching for queries immediately instead of waiting for 3 characters. @kyoshidajp
- Make all references to Elasticsearch be properly capitalized. @kakakakakku
- Use PostgreSQL's FTS/tsvector type for query searches. @jezdez
- [Redshift] Make sslmode configurable. @sjakthol
- Allow passing options to tests Docker command. @arikfr
- Improve error handling mechanism and make error pages friendlier. @kravets-levko, @kocsmy, @arikfr
- Make LDAP settings names more consistent. @gramakri
- [Oracle] support for non SELECT queries. @doddjc21
- Admin can no longer remove themselves from the built-in groups. @negibouze
- Update pie charts font style. @deecay
- Upgrade psycopg2 for support PostgreSQL 10.0. @kyoshidajp
- Convert all stylesheets to LESS. @kravets-levko
- [Elasticsearch] Collect doc_count field from aggregation. @arjan
- Switch to pytest. @jezdez
- Ensure email is case-insensitive. @miketheman
- [Redshift] change default SSL mode to prefer. @arikfr
- Return Redis memory usage in bytes for easier monitoring. @kakakakakku
- create_db command in docker-entrypoint waits for Postgres to become available first. @ariarijp
- [Elasticsearch] set source_content_type on ES queries to support Elasticsearch 6.0. @alexdrans
- Show `-` instead of `Invalid Date` for null values given to `dateTime` filter. @kyoshidajp
### Fixed
- Parameters list was resetting when adding a new parameter. @arikfr
- Don't escape values in non-html columns. @kravets-levko
- Commit SAML user group assignment to the database. @sjakthol
- Update correct settings in SAML settings form. @sjakthol
- Fix Google OAuth login in MULTIORG mode. @shinji19
- Strip annotation from query when path is specified in Script query runner. @ariarijp
- Fix filter headers when there are multiple rows of filters. @kocsmy
- Update query version when changing query data source. @washort
- Fix upgrade script to support changes in CircleCI. @rgjodekerken
- Don't show error indicators after submitting the user form. @bamboo-yujiro
- [Query Results] support unicode column names. @tonyjiangh
- Issue with Google OAuth caused by old pyOpenSSL version. @crooy
- Fix layout of outdated queries admin view. @bamboo-yujiro
- User can't download query results of a new query. @arikfr
- Typo in celery logs format. @ariarijp
- Handling whitespace characters in Query Results data source. @ariarijp
- [MySQL] Close cursor when cancellig the query. @jasonsmithj
## v3.0.0 - 2017-11-13
### Added
- Query Result data source (run queries on query results).
- Athena: option to load schema from Glue catalog. @myouju
- Allow running any command inside the container via the Docker entrypoint script. @jezdez
- Make invitation token max age configurable. @hhamalai
- Redshift: add support for the new ACM root CA.
- Redshift: support for Spectrum (external) tables. @atharvai
- MongoDB: option to set allowDiskUse in queries.
- Option to disable SQLAlchemy connection pool.
- Option to set a time limit on adhoc queries.
- Option to disable sending an invite to a new user.
- Azure SQL Data Warehouse query runner. @kitsuyui
- Prometheus query runner. @yershalom
- Option to set the Flask-Limiter storage engine.
- Option to set UnicodeWriter's error handling method. @fan-t-endo
- PostgreSQL: SSL configuration option. @TylerBrock
- Counter visualization: additional formatting options. @deecay
- Query based drop down parameter. @rohithmenon
- MySQL: multiple queries support & connection timeout.
- Ability to select all in multi-filter. @Posnet
- LDAP (Active Directory) support. @amarjayr
### Changed
- Copy parameters when forking a query. @kyoshidajp
- Prevent using Query API Key with refresh API (previously it was just failing).
- Reduce boilerplate in frontend code.
- Set auto focus in first input items. @kyoshidajp
- Update gunicorn to latest version.
- Make log format configurable.
- Sort series by name.
- Allow setting test file with Docker test run. @meinac
- Use outdated queries count stored already in Redis.
- Show links based on permissions the user have.
- Cassandra: update driver version. @yershalom
- Docker-Compose: update configuration to always restart services. @muddydixon
- Modernize Python 2 code to get ready for Python 3. @cclauss
- Cohort visualization: make it friendlier to use by better handle gaps in data, so it's easier to generate the data needed.
- Use a different markdown library. @alexmuller
- Salesforce: improve error messages we receive from the API. @akiray03
- Custom JS code visualization improvements. @deecay
- DQL: Update version to 0.5.24. @aterreno
- Cassandra: get_schema support for both C* 2.x and 3.x, support for SortedSet type serialization. (@mfouilleul)
- Replace deprecated ng-annotate with babel plugin. @44px
- Update Python dependencies to recent versions. @alison985
- Bootstrap script: create /opt/redash directory only if it doesn't exist. @isomura
- Bootstrap script: make use of REDASH_BASE_PATH variable in setup script. @sylvain
### Fixed
- Require full data source access to fork a query.
- API key of one query could be used to get results of another one.
- Delete group id from user object when deleting the group. @kyoshidajp
- Sorting of X axis wasn't working for Box plot type visualizations. @deecay
- Exporting query results as excel was failing when one of the columns had array data. @kyoshidajp
- Show query editor's Archive/Publish Query drop-down only on saved queries. @cyriac
- Move misplaced configuration in docker-compose.production.yml. @yutannihilation
- MySQL: support UTF8 schema.
- TreasureData queries were failing when returning 0 rows.
- Use series color for Boxplot. @deecay
- Revoke permission should respect to given grantee and access type. @meinac
- Fixed eslint "Cannot read property 'length' of undefined" error. @kravets-levko
- Don't crash query editor when there are unclosed curly brackets.
- Error value in charts wasn't displayed if it was 0.
- Prevent line breaks in EditInPlace description when using Firefox. @alexmuller
- Queries#all_queries was sometimes returning wrong number of queries.
- record_event fails for API events.
- Cancel button on tasks admin page was broken.
- Remove deprecated cx_Oracle types. @queeno
- Textbox widgets were updating their value even when editor was cancelled. @alison985
- Collaborators couldn't edit visualizations or schedule.
- Use series color for error bar. @deecay
- Upgrade script was using the wrong restart command on new AMIs.
## v2.0.1 - 2017-10-22
This is a patch release, that adds support for Redshift ACM certificates (see #2044 for details).
## v2.0.0 - 2017-08-08
### Added

View File

@@ -60,7 +60,7 @@ If you would like to suggest an enhancement or ask for a new feature:
### Documentation
The project's documentation can be found at [https://redash.io/help/](https://redash.io/help/). The [documentation sources](https://github.com/getredash/website/tree/master/user-guide) are hosted on GitHub. To contribute edits / new pages, you can use GitHub's interface. Click the "Edit on GitHub" link on the documentation page to quickly open the edit interface.
The project's documentation can be found at [https://redash.io/help/](https://redash.io/help/). The [documentation sources](https://github.com/getredash/website/tree/master/website/_kb) are hosted on GitHub. To contribute edits / new pages, you can use GitHub's interface. Click the "Edit on GitHub" link on the documentation page to quickly open the edit interface.
## Additional Notes

View File

@@ -1,4 +1,4 @@
Copyright (c) 2013-2017, Arik Fraimovich.
Copyright (c) 2013-2018, Arik Fraimovich.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,

View File

@@ -1,20 +0,0 @@
NAME=redash
VERSION=`python ./manage.py version`
FULL_VERSION=$(VERSION)+b$(CIRCLE_BUILD_NUM)
BASE_VERSION=$(shell python ./manage.py version | cut -d + -f 1)
# VERSION gets evaluated every time it's referenced, therefore we need to use VERSION here instead of FULL_VERSION.
FILENAME=$(CIRCLE_ARTIFACTS)/$(NAME).$(VERSION).tar.gz
deps:
if [ -d "./client/app" ]; then npm install; fi
if [ -d "./client/app" ]; then npm run build; fi
pack:
sed -ri "s/^__version__ = '([0-9.]*)'/__version__ = '$(FULL_VERSION)'/" redash/__init__.py
tar -zcv -f $(FILENAME) --exclude="optipng*" --exclude=".git*" --exclude="*.pyc" --exclude="*.pyo" --exclude="venv" --exclude="node_modules" *
upload:
python bin/release_manager.py $(CIRCLE_SHA1) $(BASE_VERSION) $(FILENAME)
test:
nosetests --with-coverage --cover-package=redash tests/

View File

@@ -43,7 +43,7 @@ You can try out the demo instance: http://demo.redash.io/ (login with any Google
## Reporting Bugs and Contributing Code
* Want to report a bug or request a feature? Please open [an issue](https://github.com/getredash/redash/issues/new).
* Want to help us build **_Redash_**? Fork the project, edit in a [dev environment](https://redash.io/help-onpremise/setup/setting-up-development-environment-using-vagrant.html), and make a pull request. We need all the help we can get!
* Want to help us build **_Redash_**? Fork the project, edit in a [dev environment](https://redash.io/help-onpremise/dev/guide.html), and make a pull request. We need all the help we can get!
## License

View File

@@ -22,6 +22,10 @@ server() {
exec /usr/local/bin/gunicorn -b 0.0.0.0:5000 --name redash -w${REDASH_WEB_WORKERS:-4} redash.wsgi:app
}
create_db() {
exec /app/manage.py database create_tables
}
help() {
echo "Redash Docker."
echo ""
@@ -36,11 +40,18 @@ help() {
echo "dev_server -- start Flask development server with debugger and auto reload"
echo "create_db -- create database tables"
echo "manage -- CLI to manage redash"
echo "tests -- run tests"
}
tests() {
export REDASH_DATABASE_URL="postgresql://postgres@postgres/tests"
exec make test
if [ $# -eq 0 ]; then
TEST_ARGS=tests/
else
TEST_ARGS=$@
fi
exec pytest $TEST_ARGS
}
case "$1" in
@@ -57,22 +68,29 @@ case "$1" in
scheduler
;;
dev_server)
export FLASK_DEBUG=1
exec /app/manage.py runserver --debugger --reload -h 0.0.0.0
;;
shell)
exec /app/manage.py shell
;;
create_db)
exec /app/manage.py database create_tables
create_db
;;
manage)
shift
exec /app/manage.py $*
;;
tests)
tests
shift
tests $@
;;
*)
help)
shift
help
;;
*)
exec "$@"
;;
esac

8
bin/pack Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
NAME=redash
VERSION=$(python ./manage.py version)
FULL_VERSION=$VERSION+b$CIRCLE_BUILD_NUM
FILENAME=$CIRCLE_ARTIFACTS/$NAME.$FULL_VERSION.tar.gz
sed -ri "s/^__version__ = '([A-Za-z0-9.-]*)'/__version__ = '$FULL_VERSION'/" redash/__init__.py
tar -zcv -f $FILENAME --exclude="optipng*" --exclude=".git*" --exclude="*.pyc" --exclude="*.pyo" --exclude="venv" --exclude="node_modules" *

View File

@@ -1,3 +1,4 @@
from __future__ import print_function
import os
import sys
import json
@@ -95,7 +96,7 @@ def get_changelog(commit_sha):
try:
pull_request = re.match("Merge pull request #(\d+)", subject).groups()[0]
pull_request = " #{}".format(pull_request)
except Exception, ex:
except Exception as ex:
pull_request = ""
author = subprocess.check_output(['git', 'log', '-1', '--pretty=format:"%an"', parents.split(' ')[-1]])[1:-1]
@@ -124,7 +125,7 @@ def update_release(version, build_filepath, commit_sha):
else:
release = create_release(version, commit_sha)
print "Using release id: {}".format(release['id'])
print("Using release id: {}".format(release['id']))
remove_previous_builds(release)
response = upload_asset(release, build_filepath)
@@ -135,8 +136,8 @@ def update_release(version, build_filepath, commit_sha):
if response.status_code != 200:
raise exception_from_error("Failed updating release description", response)
except Exception, ex:
print ex
except Exception as ex:
print(ex)
if __name__ == '__main__':
commit_sha = sys.argv[1]

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env python
import urllib
import argparse
import os
import subprocess
@@ -74,13 +75,13 @@ class Release(namedtuple('Release', ('version', 'download_url', 'filename', 'des
def get_latest_release_from_ci():
response = requests.get('https://circleci.com/api/v1.1/project/github/getredash/redash/latest/artifacts')
response = requests.get('https://circleci.com/api/v1.1/project/github/getredash/redash/latest/artifacts?branch=master')
if response.status_code != 200:
exit("Failed getting releases (status code: %s)." % response.status_code)
tarball_asset = filter(lambda asset: asset['url'].endswith('.tar.gz'), response.json())[0]
filename = tarball_asset['pretty_path'].replace('$CIRCLE_ARTIFACTS/', '')
filename = urllib.unquote(tarball_asset['pretty_path'].split('/')[-1])
version = filename.replace('redash.', '').replace('.tar.gz', '')
release = Release(version, tarball_asset['url'], filename, '')
@@ -203,7 +204,9 @@ def show_description_and_confirm(description):
def verify_newer_version(release):
if not release.is_newer(current_version()):
red("The found release is not newer than your current deployed release ({}). Aborting upgrade.".format(current_version()))
red("The found release is not newer than your current deployed release ({}).".format(current_version()))
if not confirm("Continue with upgrade?"):
red("Cancelling upgrade.")
exit(1)

View File

@@ -10,21 +10,22 @@ dependencies:
- pip install --upgrade setuptools
- pip install -r requirements_dev.txt
- pip install -r requirements.txt
- make deps
- npm install
- npm run build
cache_directories:
- node_modules/
test:
override:
- nosetests --with-xunit --xunit-file=$CIRCLE_TEST_REPORTS/junit.xml --with-coverage --cover-package=redash tests/
- pytest --junitxml=$CIRCLE_TEST_REPORTS/junit.xml tests/
deployment:
github_and_docker:
branch: master
tarball:
branch: [master, /release.*/]
commands:
- make pack
# Skipping uploads for now, until master is stable.
# - make upload
#- echo "client/app" >> .dockerignore
#- docker pull redash/redash:latest
- bin/pack
docker:
tag: /v[0-9]+(\.[0-9\-a-z]+)*/
commands:
- bin/pack
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
- docker build -t redash/redash:$(./manage.py version | sed -e "s/\+/./") .
- docker push redash/redash:$(./manage.py version | sed -e "s/\+/./")

View File

@@ -1,4 +1,10 @@
{
"presets": ["es2015", "stage-2"],
"plugins": ["transform-object-assign"]
"plugins": [
"angularjs-annotate",
"transform-object-assign",
["babel-plugin-transform-builtin-extend", {
"globals": ["Error"]
}]
]
}

View File

@@ -1,2 +1,3 @@
build/*.js
config/*.js
node_modules

View File

@@ -1,15 +1,32 @@
module.exports = {
root: true,
extends: 'airbnb-base',
extends: "airbnb-base",
settings: {
"import/resolver": "webpack"
},
env: {
"browser": true,
"node": true
},
rules: {
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'no-param-reassign': 0,
'no-mixed-operators': 0,
'no-underscore-dangle': 0,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
"prefer-destructuring": "off",
"prefer-template": "off",
"no-restricted-properties": "off",
"no-restricted-globals": "off",
"no-multi-assign": "off",
"no-lonely-if": "off",
"consistent-return": "off",
"max-len": ['error', 120, 2, {
ignoreUrls: true,
ignoreComments: false,
ignoreRegExpLiterals: true,
ignoreStrings: true,
ignoreTemplateLiterals: true,
}]
}
}
};

View File

@@ -2,19 +2,6 @@ body {
padding-top: 50px;
}
body.headless {
padding-top: 0px;
padding-bottom: 0px;
}
body.headless nav.app-header {
display: none;
}
body.headless div#footer {
display: none;
}
a[ng-click] {
cursor: pointer;
}
@@ -327,20 +314,38 @@ pivot-table-renderer > table, grid-renderer > div, visualization-renderer > div
counter-renderer {
display: block;
text-align: center;
padding: 15px 10px;
overflow: hidden;
}
counter-renderer counter {
margin: 0 auto;
padding: 15px 50px;
display: block;;
margin: 0;
display: block;
font-size: 80px;
overflow: hidden;
}
counter-renderer value,
counter-renderer counter-name,
counter-renderer counter-target {
font-size: 80px;
font-size: 1em;
line-height: 1em;
display: block;
}
counter-renderer value .ruler,
counter-renderer counter-name .ruler,
counter-renderer counter-target .ruler {
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font: inherit;
line-height: inherit;
margin: 0;
padding: 0;
}
counter-renderer counter-target {
color: #ccc;
}
@@ -355,7 +360,7 @@ counter-renderer counter.negative value {
}
counter-renderer counter-name {
font-size: 40px;
font-size: 0.5em;
display: block;
}
@@ -620,10 +625,6 @@ div.table-name:hover {
transition: all 0.35s ease;
}
.schema-browser .collapse.in {
background: #f4f4f4;
}
.navbar .collapse.in {
background: #222;
}
@@ -702,3 +703,16 @@ div.table-name:hover {
.dropdown-menu > .disabled > a{
pointer-events: none;
}
.map-visualization-container {
height: 500px;
}
.plotly-chart-container {
height: 400px;
overflow: hidden;
}
visualization-renderer .pagination {
margin: 0;
}

View File

@@ -1781,6 +1781,9 @@ fieldset[disabled] .form-control {
textarea.form-control {
height: auto;
}
textarea.v-resizable {
resize: vertical;
}
input[type="search"] {
-webkit-appearance: none;
}
@@ -8592,6 +8595,7 @@ a.thumbnail.active {
padding: 0;
white-space: nowrap;
margin: 0;
margin-bottom: 10px;
overflow: auto;
box-shadow: inset 0 -2px 0 0 #eee;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48"><defs><path id="a" d="M44.5 20H24v8.5h11.8C34.7 33.9 30.1 37 24 37c-7.2 0-13-5.8-13-13s5.8-13 13-13c3.1 0 5.9 1.1 8.1 2.9l6.4-6.4C34.6 4.1 29.6 2 24 2 11.8 2 2 11.8 2 24s9.8 22 22 22c11 0 21-8 21-22 0-1.3-.2-2.7-.5-4z"/></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"/></clipPath><path clip-path="url(#b)" fill="#FBBC05" d="M0 37V11l17 13z"/><path clip-path="url(#b)" fill="#EA4335" d="M0 11l17 13 7-6.1L48 14V0H0z"/><path clip-path="url(#b)" fill="#34A853" d="M0 37l30-23 7.9 1L48 0v48H0z"/><path clip-path="url(#b)" fill="#4285F4" d="M48 48L17 24l-4-3 35-10z"/></svg>

After

Width:  |  Height:  |  Size: 688 B

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -0,0 +1,8 @@
# Styling readme
Some general rules before you add stuff.
- Avoid using inline css
- If possible, use classes that are already in place instead of adding new
- Keep less/inc folder untouched, rewrite things in less/redash respectively
- Try following BEM naming conventions: http://getbem.com/naming/

View File

@@ -0,0 +1,73 @@
.four-zero {
background: @white;
box-shadow: 0 1px 11px rgba(0, 0, 0, 0.27);
border-radius: 2px;
position: absolute;
top: 50%;
margin-top: -150px;
text-align: center;
padding: 15px;
height: 300px;
width: 500px;
left: 50%;
color: #333;
margin-left: -250px;
h2 {
font-size: 130px;
}
@media (max-width: @screen-xs-max) {
width: ~"calc(100% - 40px)";
left: 20px;
margin-left: 0;
height: 260px;
margin-top: -130px;
h2 {
font-size: 90px;
}
}
h2 {
line-height: 100%;
font-weight: 100;
}
small {
display: block;
font-size: 26px;
margin-top: -10px
}
footer {
background: @ace;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
padding: 10px;
& > a {
font-size: 21px;
display: inline-block;
color: #333;
margin: 0 1px;
line-height: 40px;
width: 40px;
height: 40px;
background: rgba(0, 0, 0, 0.09);
border-radius: 50%;
text-align: center;
&:hover {
background: rgba(0, 0, 0, 0.2);
}
}
}
}

View File

@@ -0,0 +1,7 @@
.ace_editor {
border: 1px solid #eee;
height: 100%;
margin-bottom: 10px;
}

View File

@@ -0,0 +1,45 @@
.alert {
padding-left: 30px;
padding-right: 30px;
span {
cursor: pointer;
}
}
.alert-dismissable,
.alert-dismissible {
padding-right: 44px;
}
.alert-inverse {
.alert-variant(@alert-inverse-bg; @alert-inverse-border; @alert-inverse-text);
}
.alert-link {
color: #fff !important;
font-weight: normal !important;
text-decoration: underline;
}
.growl-animated {
&.alert-inverse {
box-shadow: 0 0 5px fade(@alert-inverse-bg, 50%);
}
&.alert-info {
box-shadow: 0 0 5px fade(@alert-info-bg, 50%);
}
&.alert-success {
box-shadow: 0 0 5px fade(@alert-success-bg, 50%);
}
&.alert-warning {
box-shadow: 0 0 5px fade(@alert-warning-bg, 50%);
}
&.alert-danger {
box-shadow: 0 0 5px fade(@alert-danger-bg, 50%);
}
}

View File

@@ -0,0 +1,8 @@
a[ng-click] {
cursor: pointer;
}
/* Immediately apply ng-cloak, instead of waiting for angular.js to load: */
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}

View File

@@ -0,0 +1,88 @@
*, button, input, i, a {
-webkit-font-smoothing: antialiased;
}
*,
*:active,
*:hover {
outline: none !important;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}
html {
overflow-x: ~"hidden\0/";
-ms-overflow-style: auto;
}
html, body {
min-height: 100vh;
}
body {
padding-top: @header-height;
position: relative;
padding-bottom: @footer-height;
&.headless {
padding-top: 0;
padding-bottom: 0;
.nav.app-header {
display: none;
}
div#footer {
display: none;
}
}
}
strong {
font-weight: 500;
}
#content {
position: relative;
padding-top: 30px;
padding-bottom: 30px;
@media (min-width: (@screen-sm-min + 1)) {
padding-right: 15px;
padding-left: 15px;
}
@media (min-width: (@screen-lg-min + 80px)) {
margin-left: @sidebar-left-width;
}
@media (min-width: @screen-sm-min) and (max-width: (@screen-md-max + 80px)) {
margin-left: @sidebar-left-mid-width;
}
@media (max-width: (@screen-sm-min)) {
margin-left: 0;
}
}
.container {
&.c-boxed {
max-width: @boxed-width;
}
}
.scrollbox {
overflow: auto;
position: relative;
}
.resize-vertical {
resize: vertical !important;
transition: height 0s !important;
}
.resize-horizontal {
resize: horizontal !important;
transition: width 0s !important;
}
.resize-both,
.resize-vertical.resize-horizontal {
resize: both !important;
transition: height 0s, width 0s !important;
}

View File

@@ -0,0 +1,42 @@
/** Media - Overriding the Media object to 3.2 version in order to prevent issues like text overflow. **/
.media {
margin-top: 0;
.clearfix();
& > .pull-left {
padding-right: 15px;
}
& > .pull-right {
padding-left: 15px;
}
overflow: visible;
}
.media-heading {
font-size: 14px;
margin-bottom: 10px;
}
.media-body {
zoom: 1;
display: block;
width: auto;
}
.media-object {
border-radius: 2px;
}
.collapsing,
.collapse.in {
padding: 5px 10px;
transition: all 0.35s ease;
}
/** LIST **/
.list-inline > li {
vertical-align: top;
margin-left: 0;
}

View File

@@ -0,0 +1,29 @@
.breadcrumb {
border-bottom: 1px solid #E5E5E5;
border-radius: 0;
padding-top: 10px;
padding-right: 33px;
padding-bottom: 11px;
@media (min-width: (@screen-lg-min + 80px)) {
padding-left: (@sidebar-left-width + @grid-gutter-width);
}
@media (min-width: @screen-sm-min) and (max-width: (@screen-md-max + 80px)) {
padding-left: (@sidebar-left-mid-width + @grid-gutter-width);
}
@media (max-width: (@screen-sm-min)) {
padding-left: @grid-gutter-width/2;
}
& > li {
& > a {
color: #A9A9A9;
&:hover {
color: @breadcrumb-active-color;
}
}
}
}

View File

@@ -0,0 +1,124 @@
.btn {
&:not(.btn-alt) {
border: 0;
}
&[class*="bg-"]:not(.bg-white) {
color: #fff;
}
.caret {
margin-top: -3px;
}
&:not(.btn-link) {
&:active,
&.active,
&:hover {
}
}
}
.btn-default {
.button-variant(#333, #eee, transparent);
}
.btn-inverse {
.button-variant(#fff, #454545, transparent);
}
.btn-link {
color: #333;
}
.btn-icon {
border-radius: 50%;
width: 40px;
height: 40px;
padding: 0;
text-align: center;
.zmdi {
font-size: 17px;
}
}
.btn-icon-text {
& > .zmdi {
font-size: 15px;
vertical-align: top;
display: inline-block;
margin-top: 2px;
line-height: 100%;
margin-right: 5px;
}
}
.open .btn {
outline: none !important;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
&:focus, &:active {
outline: none !important;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}
}
/** ALTERNATIVE BUTTONS **/
.btn-alt(@color) {
border-color: @color;
color: @color;
&:not(.btn-white) {
&:hover,
&:active,
&:focus {
color: #fff;
background: @color;
}
}
&.btn-white {
&:hover,
&:active,
&:focus {
color: #333;
background: @color;
}
}
}
.btn-alt {
background: transparent;
&.btn-default {
.btn-alt(darken(@brand-default, 30%));
}
&.btn-info {
.btn-alt(@brand-info);
}
&.btn-primary {
.btn-alt(@brand-primary);
}
&.btn-success {
.btn-alt(@brand-success);
}
&.btn-warning {
.btn-alt(@brand-warning);
}
&.btn-danger {
.btn-alt(@brand-danger);
}
}
.btn-xs > .fa {
font-size: 14px;
top: 1px;
position: relative;
}

View File

@@ -0,0 +1,41 @@
.carousel-caption {
left: 0;
right: 0;
bottom: 0;
background: rgba(0,0,0,0.6);
h3 {
margin-top: 0;
margin-bottom: 3px;
color: #fff;
}
}
.carousel-indicators {
bottom: 10px;
& > li:not(.active) {
border: 0;
background: #000;
}
}
.carousel-control {
width: 50px;
background: none;
.fa {
font-size: 50px;
height: 52px;
margin-top: -26px;
position: absolute;
top: 50%;
.margin-left(-9px);
}
}
@media @max-768 {
.carousel-indicators, .carousel-caption {
display: none;
}
}

View File

@@ -0,0 +1,237 @@
/* --------------------------------------------------------
Chart Helper Classes
-----------------------------------------------------------*/
.main-chart {
margin: 0px -8px 0 -10px;
overflow: hidden;
position: relative;
bottom: -10px;
}
.mc-item {
width: 100%;
height: 250px;
}
.mc-pie {
width: 100%;
height: 300px;
}
@media (min-width: @screen-sm-min) {
.mc-info {
position: absolute;
bottom: 10px;
z-index: 1;
padding: 10px 20px 15px;
left: 10px;
background-color: rgba(0, 150, 136, 0.55);
color: #fff;
max-width: 270px;
span {
font-size: 33px;
}
small {
display: block;
margin-top: -3px;
margin-left: 3px;
line-height: 130%;
}
}
}
/* --------------------------------------------------------
Overview Small Charts
-----------------------------------------------------------*/
.o-item {
padding: 0 20px 15px 20px;
color: #fff;
margin-bottom: @grid-gutter-width;
box-shadow: @tile-shadow;
}
.oi-number {
font-size: 23px;
display: block;
margin-top: 6px;
margin-bottom: 3px;
line-height: 100%;
}
.oi-title {
text-transform: uppercase;
.text-overflow();
line-height: 100%;
padding: 10px 15px;
width: auto;
margin: 0 -21px 20px;
}
/* --------------------------------------------------------
Count Box
-----------------------------------------------------------*/
.count-box {
padding: 20px 23px 0;
[class*="col-"] {
padding-left: 8px;
padding-right: 8px;
}
}
.cb-item {
background: rgba(255,255,255,0.22);
padding: 10px 0;
text-align: center;
margin-bottom: 16px;
& > h3 {
margin: 0;
line-height: 100%;
color: #fff;
font-weight: normal;
}
& > small {
line-height: 100%;
margin-top: 1px;
display: block;
font-size: 11px;
color: #fff;
}
}
/* --------------------------------------------------------
Flot Charts
-----------------------------------------------------------*/
.flot-legend {
text-align: center;
margin: 10px 0 5px;
table {
display: inline-block;
}
.legendColorBox {
& > div {
border: #fff !important;
& > div {
border-radius: 50%;
}
}
}
.legendLabel {
padding: 0 8px 0 3px;
}
}
[class*="flc-"] {
text-align: center;
margin: 20px 0 5px;
table {
display: inline-block;
}
.legendColorBox {
& > div {
border: #fff !important;
& > div {
border-radius: 50%;
}
}
}
.legendLabel {
padding: 0 8px 0 3px;
}
}
/* --------------------------------------------------------
Easy Pie Charts
-----------------------------------------------------------*/
.pie-overviews {
margin-bottom: -15px;
}
.po-item {
display: inline-block;
position: relative;
margin: 0 5px 10px;
padding-bottom: 13px;
color: #fff;
}
.poi-percent {
position: absolute;
text-align: center;
width: 100%;
margin-top: 32px;
font-size: 27px;
text-shadow: none;
padding-left: 2px;
&:after {
content: '%';
font-size: 11px;
}
}
.poi-title {
position: absolute;
bottom: 0;
width: 100%;
text-align: center;
font-size: 12px;
i {
font-size: 15px;
font-weight: normal;
-webkit-font-smoothing: antialiased;
.opacity(0.5);
&:hover {
.opacity(1);
cursor: pointer;
}
}
}
/* --------------------------------------------------------
Chart Tooltips
-----------------------------------------------------------*/
#jqstooltip,
.chart-tooltip {
min-width: 21px;
min-height: 23px;
text-align: center;
border: 0;
background: #333;
}
#jqstooltip .jqsfield,
.chart-tooltip {
font-size: 12px;
font-weight: 500;
font-family: inherit;
text-align: center;
color: #fff;
}
#jqstooltip .jqsfield {
& > span {
display: none;
}
}
.chart-tooltip {
position: absolute;
padding: 6px 10px 5px;
}

View File

@@ -0,0 +1,97 @@
.dropdown-menu {
z-index: 1000000000;
box-shadow: @dropdown-shadow;
margin-top: 1px;
border-width: 0;
.animated(fadeIn, 300ms);
> .disabled{
cursor: not-allowed;
// The real magic ;)
> a {
pointer-events: none;
}
}
& > li > a {
padding: 8px 17px;
}
&.dm-icon {
& > li > a > .zmdi {
line-height: 100%;
vertical-align: top;
font-size: 18px;
width: 28px;
}
}
&:not([class*="bg-"]) {
& > li > a {
color: #4C4C4C;
&:hover {
color: #000;
}
}
}
&[class*="bg-"] {
& > li > a {
font-weight: 300;
color: #fff;
}
}
}
.dropdown-header {
padding: 10px 15px 9px;
text-transform: uppercase;
font-weight: normal;
border-radius: 1px 1px 0 0;
line-height: 100%;
border-radius: 2px 2px 0 0;
&[class*="bg-"] {
color: #fff;
}
.actions {
top: 0;
right: 0;
& > li > a {
display: block;
padding: 6px 0 5px;
width: 33px;
text-align: center;
&:hover {
background: rgba(0,0,0,0.08);
}
}
}
}
.dropdown-menu {
>span {
>li {
>a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.428571429;
color: #333333;
white-space: nowrap;
&:hover, &:focus {
color: #ffffff;
text-decoration: none;
background-color: #428bca;
}
}
}
}
}

View File

@@ -0,0 +1,63 @@
.edit-in-place span {
white-space: pre-line;
p {
margin-bottom: 0;
}
}
.edit-in-place span.editable {
cursor: pointer;
}
.edit-in-place span.editable:hover {
background: @redash-yellow;
border-radius: @redash-radius;
}
.edit-in-place input,
.edit-in-place textarea {
display: none;
}
.edit-in-place.active span {
display: none;
}
.edit-in-place.active input,
.edit-in-place.active textarea {
display: inline-block;
}
.edit-in-place {
display: inline-block;
}
.edit-in-place {
.rd-form-control {
padding: 0px 6px;
width: 30vw;
}
&.active {
textarea.rd-form-control {
height: 29px;
width: 40vw;
}
}
}
@media (max-width: 880px) {
.edit-in-place {
.rd-form-control {
width: 50vw;
}
&.active {
textarea.rd-form-control {
width: 50vw;
}
}
}
}

View File

@@ -0,0 +1,38 @@
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-row-reverse { flex-direction: row-reverse !important; }
.flex-column-reverse { flex-direction: column-reverse !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-nowrap { flex-wrap: nowrap !important; }
.flex-wrap-reverse { flex-wrap: wrap-reverse !important; }
.flex-fill { flex: 1 1 auto !important; }
.justify-content-start { justify-content: flex-start !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around { justify-content: space-around !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-end { align-items: flex-end !important; }
.align-items-center { align-items: center !important; }
.align-items-baseline { align-items: baseline !important; }
.align-items-stretch { align-items: stretch !important; }
.align-content-start { align-content: flex-start !important; }
.align-content-end { align-content: flex-end !important; }
.align-content-center { align-content: center !important; }
.align-content-between { align-content: space-between !important; }
.align-content-around { align-content: space-around !important; }
.align-content-stretch { align-content: stretch !important; }
.align-self-auto { align-self: auto !important; }
.align-self-start { align-self: flex-start !important; }
.align-self-end { align-self: flex-end !important; }
.align-self-center { align-self: center !important; }
.align-self-baseline { align-self: baseline !important; }
.align-self-stretch { align-self: stretch !important; }

View File

@@ -0,0 +1,22 @@
///* --------------------------------------------------------
// Roboto Light - 300
//-----------------------------------------------------------*/
//.font-face(roboto, 'Roboto-Light-webfont', 300, normal);
//
//
///* --------------------------------------------------------
// Roboto Regular - 400
//-----------------------------------------------------------*/
//.font-face(roboto, 'Roboto-Regular-webfont', 400, normal);
//
//
///* --------------------------------------------------------
// Roboto Medium - 500
//-----------------------------------------------------------*/
//.font-face(roboto, 'Roboto-Medium-webfont', 500, normal);
//
//
///* --------------------------------------------------------
// Roboto Bold - 700
//-----------------------------------------------------------*/
//.font-face(roboto, 'Roboto-Bold-webfont', 700, normal);

View File

@@ -0,0 +1,48 @@
#footer {
position: absolute;
bottom: 0;
text-align: center;
width: 100%;
height: @footer-height;
color: #a2a2a2;
padding-top: 10px;
padding-bottom: 15px;
.f-menu {
display: block;
width: 100%;
.list-inline();
margin-top: 8px;
& > li > a {
color: #a2a2a2;
&:hover {
color: #777;
}
}
}
@media (min-width: (@screen-lg-min + 80px)) {
padding-left: (@sidebar-left-width + @grid-gutter-width);
}
@media (min-width: @screen-sm-min) and (max-width: (@screen-md-max + 80px)) {
padding-left: (@sidebar-left-mid-width + @grid-gutter-width);
}
@media (max-width: (@screen-sm-min)) {
padding-left: @grid-gutter-width/2;
}
}
.footer {
color: #818d9f;
padding-bottom: 30px;
a {
color: #818d9f;
margin-left: 20px;
}
}

View File

@@ -0,0 +1,310 @@
label {
font-weight: 500;
}
textarea.v-resizable {
resize: vertical;
}
.form-group {
&.required {
.control-label {
&:after {
content: " *";
color: inherit;
}
}
}
&.has-error {
.help-block {
&.error {
display: block;
}
}
}
.help-block {
&.error {
display: none;
}
}
}
/* light version of bootstrap's form-control */
.rd-form-control {
display: block;
padding: 6px 12px;
line-height: 1.428571429;
color: #555555;
vertical-align: middle;
background-color: #ffffff;
border: 1px solid #cccccc;
border-radius: 4px;
-webkit-box-shadow: none;
box-shadow: none;
-webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
width: 90%;
}
/* --------------------------------------------------------
Input Fields
-----------------------------------------------------------*/
.form-control {
.transition(all);
.transition-duration(300ms);
resize: none;
box-shadow: 0 0 0 40px rgba(0, 0, 0, 0) !important;
border-radius: 0;
&:focus {
box-shadow: 0 0 1px -2px rgba(121,194,255,0.5) !important;
}
}
/* --------------------------------------------------------
Custom Checkbox + Radio
-----------------------------------------------------------*/
.cra-validatation(@color) {
input[type="checkbox"], input[type="radio"] {
& + .input-helper {
border-color: @color;
}
&:checked + .input-helper:before {
background: @color;
}
}
}
.cr-alt {
position: relative;
padding-top: 0;
margin: 0;
label {
position: relative;
padding-left: 28px;
}
&.has-success {
.cra-validatation(@green);
}
&.has-warning {
.cra-validatation(@orange);
}
&.has-error {
.cra-validatation(@red);
}
input[type="checkbox"], input[type="radio"] {
.opacity(0);
width: 20px;
height: 20px;
position: absolute;
z-index: 10;
margin: 0;
top: 0;
left: 0;
cursor: pointer;
& + .input-helper {
border: 1px solid @input-border;
width: 19px;
height: 19px;
background: #fff;
position: absolute;
left: 0;
top: -1px;
cursor: pointer;
}
&:checked + .input-helper:before {
content: "";
width: 9px;
height: 9px;
background: #31ACFF;
position: absolute;
left: 4px;
top: 4px;
}
}
input[type="radio"] {
& + i {
border-radius: 50%;
}
&:checked + i:before {
border-radius: 50%;
}
}
&.disabled {
.opacity(0.7);
}
}
.checkbox-inline,
.radio-inline {
padding-left: 27px;
}
/* --------------------------------------------------------
Input Addon
-----------------------------------------------------------*/
.input-group {
.input-group-addon {
min-width: 40px;
color: #333;
padding: 0;
}
&:not([class*="input-group-"]) {
.input-group-addon {
font-size: 15px;
}
}
}
/* --------------------------------------------------------
Toggle Switch
-----------------------------------------------------------*/
.ts-color(@color){
input {
&:not(:disabled) {
&:checked {
& + .ts-helper {
background: fade(@color, 50%);
&:before {
background: @color;
}
&:active {
&:before {
box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px fade(@color, 20%);
}
}
}
}
}
}
}
.toggle-switch {
display: inline-block;
vertical-align: top;
.user-select(none);
.ts-label {
display: inline-block;
margin: 0 20px 0 0;
vertical-align: top;
-webkit-transition: color 0.56s cubic-bezier(0.4, 0, 0.2, 1);
transition: color 0.56s cubic-bezier(0.4, 0, 0.2, 1);
}
.ts-helper {
display: inline-block;
position: relative;
width: 40px;
height: 16px;
border-radius: 8px;
background: rgba(0,0,0,0.26);
-webkit-transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1);
transition: background 0.28s cubic-bezier(0.4, 0, 0.2, 1);
vertical-align: middle;
cursor: pointer;
&:before {
content: '';
position: absolute;
top: -4px;
left: -4px;
width: 24px;
height: 24px;
background: #fafafa;
box-shadow: 0 2px 8px rgba(0,0,0,0.28);
border-radius: 50%;
webkit-transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
transition: left 0.28s cubic-bezier(0.4, 0, 0.2, 1), background 0.28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
}
&:not(.disabled) {
.ts-helper {
&:active {
&:before {
box-shadow: 0 2px 8px rgba(0,0,0,0.28), 0 0 0 20px rgba(128,128,128,0.1);
}
}
}
}
input {
position: absolute;
z-index: 1;
width: 46px;
margin: 0 0 0 -4px;
height: 24px;
.opacity(0);
cursor: pointer;
&:checked {
& + .ts-helper {
&:before {
left: 20px;
}
}
}
}
&:not([data-ts-color]){
.ts-color(@teal);
}
&.disabled {
.opacity(0.6);
}
&[data-ts-color="red"] {
.ts-color(@red);
}
&[data-ts-color="blue"] {
.ts-color(@blue);
}
&[data-ts-color="amber"] {
.ts-color(@amber);
}
&[data-ts-color="purple"] {
.ts-color(@purple);
}
&[data-ts-color="pink"] {
.ts-color(@pink);
}
&[data-ts-color="lime"] {
.ts-color(@lime);
}
&[data-ts-color="cyan"] {
.ts-color(@cyan);
}
&[data-ts-color="green"] {
.ts-color(@green);
}
}

View File

@@ -0,0 +1,154 @@
/* --------------------------------------------------------
Generate Margin Classes (0px - 25px)
margin, margin-top, margin-bottom, margin-left, margin-right
-----------------------------------------------------------*/
.margin (@label, @size: 1, @key:1) when (@size =< 30){
.m-@{key} {
margin: @size !important;
}
.m-t-@{key} {
margin-top: @size !important;
}
.m-b-@{key} {
margin-bottom: @size !important;
}
.m-l-@{key} {
margin-left: @size !important;
}
.m-r-@{key} {
margin-right: @size !important;
}
.margin(@label - 5; @size + 5; @key + 5);
}
.margin(25, 0px, 0);
.m-2{
margin:2px;
}
/* --------------------------------------------------------
Generate Padding Classes (0px - 25px)
padding, padding-top, padding-bottom, padding-left, padding-right
-----------------------------------------------------------*/
.padding (@label, @size: 1, @key:1) when (@size =< 30){
.p-@{key} {
padding: @size !important;
}
.p-t-@{key} {
padding-top: @size !important;
}
.p-b-@{key} {
padding-bottom: @size !important;
}
.p-l-@{key} {
padding-left: @size !important;
}
.p-r-@{key} {
padding-right: @size !important;
}
.padding(@label - 5; @size + 5; @key + 5);
}
.padding(25, 0px, 0);
/* --------------------------------------------------------
Generate Font-Size Classes (8px - 20px)
-----------------------------------------------------------*/
.font-size (@label, @size: 8, @key:10) when (@size =< 20){
.f-@{key} {
font-size: @size !important;
}
.font-size(@label - 1; @size + 1; @key + 1);
}
.font-size(20, 8px, 8);
/* --------------------------------------------------------
Font Weight
-----------------------------------------------------------*/
.f-300 { font-weight: 300 !important; }
.f-400 { font-weight: 400 !important; }
.f-500 { font-weight: 500 !important; }
.f-700 { font-weight: 700 !important; }
/* --------------------------------------------------------
Position
-----------------------------------------------------------*/
.p-relative { position: relative !important; }
.p-absolute { position: absolute !important; }
.p-fixed { position: fixed !important; }
.p-static { position: static !important; }
/* --------------------------------------------------------
Overflow
-----------------------------------------------------------*/
.o-hidden { overflow: hidden !important; }
.o-visible { overflow: visible !important; }
.o-auto { overflow: auto !important; }
/* --------------------------------------------------------
Display
-----------------------------------------------------------*/
.di-block { display: inline-block !important; }
.d-block { display: block; }
/* --------------------------------------------------------
Background Colors and Colors
-----------------------------------------------------------*/
@array: c-white bg-white @white, c-ace bg-ace @ace, c-black bg-black @black, c-brown bg-brown @brown, c-pink bg-pink @pink, c-red bg-red @red, c-blue bg-blue @blue, c-purple bg-purple @purple, c-deeppurple bg-deeppurple @deeppurple, c-lightblue bg-lightblue @lightblue, c-cyan bg-cyan @cyan, c-teal bg-teal @teal, c-green bg-green @green, c-lightgreen bg-lightgreen @lightgreen, c-lime bg-lime @lime, c-yellow bg-yellow @yellow, c-amber bg-amber @amber, c-orange bg-orange @orange, c-deeporange bg-deeporange @deeporange, c-gray bg-gray @gray, c-bluegray bg-bluegray @bluegray, c-indigo bg-indigo @indigo;
.for(@array); .-each(@value) {
@name: extract(@value, 1);
@name2: extract(@value, 2);
@color: extract(@value, 3);
&.@{name2} {
background-color: @color !important;
}
&.@{name} {
color: @color !important;
}
}
/* --------------------------------------------------------
Background Colors
-----------------------------------------------------------*/
.bg-brand { background-color: @brand-bg; }
.bg-black-trp { background-color: rgba(0,0,0,0.12) !important; }
/* --------------------------------------------------------
Borders
-----------------------------------------------------------*/
.b-0 { border: 0 !important; }
/* --------------------------------------------------------
Width
-----------------------------------------------------------*/
.w-100 { width: 100% !important; }
/* --------------------------------------------------------
Border Radius
-----------------------------------------------------------*/
.brd-2 { border-radius: 2px; }

View File

@@ -0,0 +1,28 @@
/* angular-growl */
.growl {
position: fixed;
bottom: 10px;
right: 10px;
float: right;
width: 250px;
z-index: 10000;
}
.growl-item.ng-enter,
.growl-item.ng-leave {
-webkit-transition: 0.5s linear all;
-moz-transition: 0.5s linear all;
-o-transition: 0.5s linear all;
transition: 0.5s linear all;
}
.growl-item.ng-enter,
.growl-item.ng-leave.ng-leave-active {
opacity: 0;
}
.growl-item.ng-leave,
.growl-item.ng-enter.ng-enter-active {
opacity: 1;
}

View File

@@ -0,0 +1,366 @@
#header {
width: 100%;
z-index: 10;
top: 0;
left: 0;
background-color: #fff;
height: @header-height;
&.affix {
box-shadow: 0 0 20px rgba(0, 0, 0, 0.23);
}
&:not(.affix) {
box-shadow: @tile-shadow;
position: fixed;
}
}
/* --------------------------------------------------------
Top Menu
-----------------------------------------------------------*/
.header-inner {
padding: 0;
margin: 0;
width: 100%;
list-style: none;
& > li {
&:not(.pull-right) {
float: left;
}
@media (max-width: @screen-sm-min) {
&:not(.top-search) {
position: static;
}
.dropdown-menu {
width: ~"calc(100% - 30px)";
margin-left: 15px;
}
}
& > a {
height: @header-height;
color: #333;
min-width: 45px;
display: block;
position: relative;
& > .zmdi {
font-size: 22px;
line-height: @header-height;
}
}
&:not(.logo) {
text-align: center;
}
&.open > a:not([class*="hi-"]):before {
content: "";
width: 40px;
height: 40px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -21px;
margin-left: -20px;
background: #eee;
border-radius: 50%;
z-index: -1;
}
}
.dropdown-menu {
margin-top: -5px;
}
.open {
& > .hi-messages { color: @green; }
& > .hi-notifications { color: @orange; }
& > .hi-projects { color: @green; }
& > .hi-events { color: @blue; }
.hi-count {
display: none;
}
}
}
.hi-count {
position: absolute;
font-style: normal;
background-color: @red;
padding: 0 4px;
font-size: 10px;
color: #fff;
line-height: 17px;
height: 17px;
top: 11px;
right: 6px;
border-radius: 50%;
width: 17px;
}
.hi-dropdown {
padding: 0;
@media (min-width: @screen-sm-min) {
width: 350px;
}
}
/* --------------------------------------------------------
Logo
-----------------------------------------------------------*/
.logo {
position: relative;
z-index: 2;
height: @logo-height;
@media (min-width: (@screen-lg-min + 80px)) {
width: @logo-width;
background-color: #000;
margin-right: 15px;
& > a {
padding: 15px 22px;
}
}
@media (max-width: (@screen-md-max + 80px)) {
width: @sidebar-left-mid-width;
& > a {
display: none !important;
}
}
@media (max-width: (@screen-sm-min)) {
padding: 12px;
}
}
/* --------------------------------------------------------
Sidebar Trigger for mobile
-----------------------------------------------------------*/
#menu-trigger {
font-size: 21px;
text-align: center;
color: #fff;
cursor: pointer;
display: none;
background: #000;
height: 100%;
&.toggled i:before {
content: '\f2ea';
}
@media (min-width: (@screen-sm-min + 1)) {
line-height: @header-height;
}
@media (max-width: (@screen-md-max + 80px)) {
display: block;
}
@media (max-width: (@screen-sm-min)) {
border-radius: 2px;
line-height: 39px;
}
}
/* --------------------------------------------------------
Top Search
-----------------------------------------------------------*/
.top-search {
position: relative;
background: #fff;
height: @header-height;
&:not(.toggled) {
width: 80px;
margin-left: 15px;
&:before {
font-family: @font-icon;
content: "\f1c3";
position: absolute;
left: 0;
top: 15px;
font-size: 22px;
z-index: 1;
color: #333;
}
.ts-reset {
display: none;
}
.ts-input {
cursor: pointer;
}
@media (max-width: (@screen-xs-min - 150px)) {
width: 20px;
}
}
.ts-input {
height: @header-height - 2px;
padding-left: 25px;
width: 100%;
border: 0;
position: relative;
background: transparent;
z-index: 1;
}
&.toggled {
position: absolute;
top: 0;
font-size: 20px;
font-weight: normal;
z-index: 1;
width: 100%;
left: 0;
@media (min-width: (@screen-lg-min + 80px)) {
padding-left: @sidebar-left-width;
}
@media (min-width: (@screen-sm-min + 1px)) and (max-width: (@screen-md-max + 80px)) {
padding-left: @sidebar-left-mid-width;
}
.ts-input {
background: #fff;
}
.ts-reset {
font-size: 11px;
color: #fff;
position: absolute;
top: 50%;
right: 15px;
z-index: 2;
width: 20px;
height: 20px;
background-color: #8E8E8E;
line-height: 20px;
text-align: center;
border-radius: 50%;
margin-top: -10px;
&:hover {
cursor: pointer;
background: #333;
}
}
}
}
/* --------------------------------------------------------
Events
-----------------------------------------------------------*/
.event-time {
width: 67px;
height: 50px;
text-align: center;
padding: 9px 0;
color: #fff;
border-radius: 2px;
margin-top: 2px;
& > h2 {
margin: 0;
line-height: 100%;
font-size: 17px;
margin-bottom: -1px;
color: #fff;
font-weight: normal;
}
}
/* --------------------------------------------------------
Apps
-----------------------------------------------------------*/
@media (min-width: @screen-sm-min) {
#launch-apps {
padding: 0;
text-align: center;
width: 300px;
}
.la-body {
padding: 20px 10px;
}
.lab-item {
width: 60px;
display: inline-block;
margin: 10px;
&:hover {
& > a {
.opacity(0.8);
}
& > small {
color: #333;
}
}
& > a {
height: 60px;
display: block;
color: #fff;
line-height: 70px;
border-radius: 50%;
.transition(opacity);
& > i {
font-size: 25px;
}
}
& > small {
color: #969696;
display: block;
margin-top: 5px;
.transition(color);
}
}
}
/* --------------------------------------------------------
Time
-----------------------------------------------------------*/
#time {
font-size: 18px;
font-weight: 400;
background-color: @sidebar;
color: #FBFBFB;
padding: 4px 11px;
border-radius: 2px;
margin: 14px;
span {
&:not(:last-child):after {
content: ":";
position: relative;
top: -1px;
right: -1px;
}
}
}

View File

@@ -0,0 +1,53 @@
.ie-warning {
position: fixed;
top: 0;
left: 0;
z-index: 9999;
background: @black;
width: 100%;
height: 100%;
text-align: center;
color: #fff;
font-family: "Courier New", Courier, monospace;
padding: 50px 0;
p {
font-size: 17px;
}
.iew-container {
min-width: 1024px;
width: 100%;
height: 200px;
background: #fff;
margin: 50px 0;
}
.iew-download {
list-style: none;
padding: 30px 0;
margin: 0 auto;
width: 720px;
& > li {
float: left;
vertical-align: top;
& > a {
display: block;
color: #000;
width: 140px;
font-size: 15px;
padding: 15px 0;
& > div {
margin-top: 10px;
}
&:hover {
background-color: #eee;
}
}
}
}
}

View File

@@ -0,0 +1,4 @@
.jumbotron {
padding-left: 60px;
padding-right: 60px;
}

View File

@@ -0,0 +1,14 @@
.label {
border-radius: 1px;
padding: 4px 5px 3px;
}
h1, h2, h3, h4, h5, h6 {
.label {
border-radius: 2px;
}
}
.badge {
border-radius: 1px;
}

View File

@@ -0,0 +1,10 @@
.for(@i, @n) {.-each(@i)}
.for(@n) when (isnumber(@n)) {.for(1, @n)}
.for(@i, @n) when not (@i = @n) {
.for((@i + (@n - @i) / abs(@n - @i)), @n);
}
.for(@array) when (default()) {.for-impl_(length(@array))}
.for-impl_(@i) when (@i > 1) {.for-impl_((@i - 1))}
.for-impl_(@i) when (@i > 0) {.-each(extract(@array, @i))}

View File

@@ -0,0 +1,60 @@
.list-group {
margin-bottom: 0;
&.lg-alt .list-group-item {
border: 0;
}
&:not(.lg-alt) {
&.lg-listview .list-group-item {
border-left: 0;
border-right: 0;
&:last-child {
border-bottom: 0;
}
}
}
}
.list-group-item {
&.active {
button {
color: white;
}
}
.cr-alt {
line-height: 100%;
margin-top: 2px;
}
}
.list-group-item-heading {
margin-bottom: 2px;
color: #333;
& > small {
font-size: 11px;
color: #C5C5C5;
margin-left: 10px;
}
}
.list-group-item-heading,
.list-group-item-text {
.text-overflow();
}
.list-group-item-text {
display: block;
&:not(:last-child) {
margin-bottom: 4px;
}
}
.list-group-img {
width: 38px;
height: 38px;
border-radius: 2px;
}

View File

@@ -0,0 +1,23 @@
.clist {
list-style: none;
& > li {
&:before {
font-family: @font-icon;
margin: 0 10px 0 -20px;
vertical-align: middle;
}
}
&.clist-angle > li:before {
content: "\f2fb";
}
&.clist-check > li:before {
content: "\f26b";
}
&.clist-star > li:before {
content: "\f27d";
}
}

View File

@@ -0,0 +1,138 @@
.login-content {
overflow: hidden;
height: 100%;
background: @brand-bg;
padding: 0;
text-align: center;
&:after {
content: "";
vertical-align: middle;
display: inline-block;
width: 1px;
height: 100vh;
}
}
.lc-block {
background: #fff;
box-shadow: 0 1px 11px rgba(0, 0, 0, 0.27);
border-radius: 2px;
width: 300px;
display: inline-block;
vertical-align: middle;
position: relative;
padding: 45px 30px 30px;
&:not(.toggled) {
display: none;
}
&.toggled {
.animated(fadeInUp, 300ms);
z-index: 10;
}
@media (max-width: @screen-xs-max) {
padding: 15px 35px 25px 20px;
width: ~"calc(100% - 60px)";
}
.form-control {
text-align: center;
}
}
.lcb-float {
width: 60px;
height: 60px;
background: #ffffff;
border-radius: 50%;
box-shadow: 0 -10px 19px rgba(0, 0, 0, 0.38);
position: absolute;
top: -35px;
left: 50%;
margin-left: -30px;
img {
width: 100%;
height: 100%;
border-radius: 50%;
padding: 4px;
}
i {
color: #333;
font-size: 25px;
line-height: 60px;
}
}
.lcb-lockscreen {
position: relative;
.form-control {
padding-right: 35px;
}
.lcbl-btn {
background-color: #2196F3;
position: absolute;
top: 0;
right: 0;
width: 30px;
color: #fff;
font-size: 15px;
height: 27px;
margin: 4px;
line-height: 26px;
border-radius: 2px;
}
}
.login-navigation {
list-style: none;
padding: 0;
margin: 0;
position: absolute;
width: 100%;
text-align: center;
left: 0%;
bottom: -45px;
& > li {
display: inline-block;
margin: 0 2px;
.transition(all);
.transition-duration(150ms);
cursor: pointer;
vertical-align: top;
color: #fff;
line-height: 16px;
min-width: 16px;
min-height: 16px;
text-transform: uppercase;
.backface-visibility(hidden);
& > span {
.opacity(0);
}
&:not(:hover) {
font-size: 0px;
border-radius: 100%;
}
&:hover {
border-radius: 10px;
padding: 0 5px;
font-size: 8px;
& > span {
.opacity(1);
}
}
}
}

View File

@@ -0,0 +1,124 @@
/* --------------------------------------------------------
Thumbnail
-----------------------------------------------------------*/
.thumbnail {
a&:hover,
a&:focus,
a&.active {
border-color: @thumbnail-border;
}
}
/* --------------------------------------------------------
Lightbox
-----------------------------------------------------------*/
.lightbox {
& > a {
position: relative;
.transition(opacity);
.transition-duration(300ms);
& > img {
width: 100%;
}
&:hover {
.opacity(0.8);
}
}
& > a:not(.p-item) { //Not for photo items
margin-bottom: 20px;
}
}
/* --------------------------------------------------------
Carousel
-----------------------------------------------------------*/
.carousel {
.carousel-control {
.transition(all);
.transition-duration(250ms);
.opacity(0);
.zmdi {
position: absolute;
top: 50%;
left: 50%;
line-height: 100%;
@media screen and (min-width: @screen-sm-min) {
font-size: 60px;
width: 60px;
height: 60px;
margin-top: -30px;
margin-left: -30px;
}
@media screen and (max-width: @screen-sm-max) {
width: 24px;
height: 24px;
margin-top: -12px;
margin-left: -12px;
}
}
}
&:hover {
.carousel-control {
.opacity(1);
}
}
.carousel-caption {
background: rgba(0,0,0,0.6);
left: 0;
right: 0;
bottom: 0;
width: 100%;
padding-bottom: 50px;
& > h3 {
color: #fff;
margin: 0 0 5px;
font-weight: 300;
}
& > p {
margin: 0;
}
@media screen and (max-width: @screen-sm-max) {
display: none;
}
}
.carousel-indicators {
bottom: 10px;
margin: 0;
left: 0;
bottom: 0;
width: 100%;
padding: 0 0 6px;
background: rgba(0,0,0,0.6);
li {
border-radius: 0;
width: 15px;
border: 0;
background: #fff;
height: 3px;
margin: 0;
.transition(all);
.transition-duration(250ms);
&.active {
width: 25px;
height: 3px;
background: @orange;
}
}
}
}

View File

@@ -0,0 +1,161 @@
#messages-main {
position: relative;
margin: 0 auto;
.clearfix();
.ms-menu {
position: absolute;
left: 0;
top: 0;
border-right: 1px solid #eee;
padding-bottom: 50px;
height: 100%;
width: 240px;
background: #fff;
@media (max-width: @screen-xs-max) {
height: ~"calc(100% - 58px)";
display: none;
z-index: 1;
top: 58px;
&.toggled {
display: block;
}
}
}
.ms-body {
@media (min-width: @screen-sm-min) {
padding-left: 240px;
}
@media (max-width: @screen-xs-max) {
overflow: hidden;
}
}
.ms-user {
padding: 15px;
background: @ace;
& > div {
overflow: hidden;
padding: 3px 5px 0px 15px;
font-size: 11px;
}
}
#ms-compose {
position: fixed;
bottom: 120px;
z-index: 1;
right: 30px;
box-shadow: 0 0 4px rgba(0, 0, 0, 0.14),0 4px 8px rgba(0, 0, 0, 0.28);
}
}
#ms-menu-trigger {
.user-select(none);
position: absolute;
left: 0;
top: 0;
width: 50px;
height: 100%;
text-align: right;
padding-right: 10px;
padding-top: 19px;
i {
font-size: 21px;
}
&.toggled {
i:before{
content: '\f2ea';
}
}
}
/* --------------------------------------------------------
For Message
-----------------------------------------------------------*/
.message-feed {
padding: 20px;
&.right {
text-align: right;
& > .pull-right {
margin-left: 15px;
}
}
&:not(.right) {
.mf-content {
background: @amber;
color: #fff;
}
}
&.right .mf-content {
background: #eee;
}
}
.mf-content {
padding: 12px 17px 13px;
border-radius: 2px;
display: inline-block;
max-width: 80%;
}
.mf-date {
display: block;
color: #B3B3B3;
margin-top: 7px;
& > i {
font-size: 14px;
line-height: 100%;
position: relative;
top: 1px;
}
}
.msb-reply {
box-shadow: 0 -20px 20px -5px #fff;
position: relative;
margin-top: 30px;
border-top: 1px solid #eee;
background: @ace;
textarea {
width: 100%;
font-size: 13px;
border: 0;
padding: 10px 15px;
resize: none;
height: 60px;
background: transparent;
}
button {
position: absolute;
top: 0;
right: 0;
border: 0;
height: 100%;
width: 60px;
font-size: 25px;
color: @blue;
background: transparent;
&:hover {
background: #f2f2f2;
}
}
}

View File

@@ -0,0 +1,228 @@
/* --------------------------------------------------------
Actions
-----------------------------------------------------------*/
.actions {
position: absolute;
list-style: none;
padding: 0;
margin: 0;
& > li {
display: inline-block;
& > a {
display: block;
padding: 0 10px;
& > i {
font-size: 20px;
}
}
}
.dropdown-menu {
min-width: 140px;
margin-top: -8px;
margin-right: -1px;
}
&:not(.a-alt) {
& > li > a > i {
color: #939393;
}
& > li.open > a > i,
& > li > a:hover > i {
color: #000;
}
}
&.a-alt {
& > li > a > i {
color: #fff;
}
}
}
/* --------------------------------------------------------
View More
-----------------------------------------------------------*/
.view-more {
display: block;
padding: 5px 10px;
text-align: center;
border-top: 1px solid darken(@light-gray, 3%);
font-size: 12px;
margin-top: 15px;
color: #777777;
&:hover {
color: #333;
background-color: @light-gray;
}
}
/* --------------------------------------------------------
Page Header
-----------------------------------------------------------*/
.page-header {
padding: 0 22px;
font-weight: normal;
font-size: 19px;
margin: 0 0 20px 0;
small {
text-transform: none;
display: block;
font-size: 12px;
color: #9C9C9C;
margin-top: 7px;
line-height: 140%;
}
h3 {
margin: 0;
font-weight: normal;
font-size: 15px;
color: #333;
}
}
/* --------------------------------------------------------
Close
-----------------------------------------------------------*/
.close {
font-weight: normal;
text-shadow: none;
.opacity(0.5);
}
/* --------------------------------------------------------
Action Header
-----------------------------------------------------------*/
.action-header {
position: relative;
background: @ace;
padding: 15px 13px 15px 17px;
}
.ah-actions {
z-index: 3;
float: right;
margin-top: 7px;
position: relative;
}
.ah-label {
color: #818181;
display: inline-block;
margin: 0;
font-size: 14px;
font-weight: normal;
padding: 0 6px;
line-height: 33px;
vertical-align: middle;
float: left;
}
.ah-search {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 4;
background: #fff;
display: none;
&:before {
content: "\f1c3";
font-family: 'Material-Design-Iconic-Font';
position: absolute;
left: 24px;
top: 17px;
font-size: 22px;
}
}
.ahs-input {
border: 0;
padding: 0 26px 0 55px;
height: 63px;
font-size: 18px;
width: 100%;
font-weight: 100;
background: #fff;
border-bottom: 1px solid #EEE;
}
.ahs-close {
font-style: normal;
position: absolute;
top: 23px;
right: 22px;
font-size: 17px;
width: 18px;
height: 18px;
background-color: #ADADAD;
line-height: 100%;
color: #fff;
text-align: center;
cursor: pointer;
border-radius: 50%;
&:hover {
background: #333;
}
}
/* --------------------------------------------------------
Load More
-----------------------------------------------------------*/
.load-more {
text-align: center;
margin-top: 30px;
a {
padding: 5px 10px 3px;
display: inline-block;
background-color: @red;
color: #FFF;
border-radius: 2px;
white-space: nowrap;
i {
font-size: 20px;
vertical-align: middle;
position: relative;
margin-top: -2px;
}
&:hover {
background-color: darken(@red, 10%);
}
}
}
/* --------------------------------------------------------
Data List
-----------------------------------------------------------*/
.dl-horizontal dt {
text-align: left;
}
/* --------------------------------------------------------
User Avatar
-----------------------------------------------------------*/
.img-avatar {
height: 37px;
border-radius: 2px;
width: 37px;
}

View File

@@ -0,0 +1,82 @@
/* --------------------------------------------------------
Font Face
-----------------------------------------------------------*/
.font-face(@family, @name, @weight: 300, @style){
@font-face{
font-family: @family;
src:url('../fonts/@{family}/@{name}.eot');
src:url('../fonts/@{family}/@{name}.eot?#iefix') format('embedded-opentype'),
url('../fonts/@{family}/@{name}.woff') format('woff'),
url('../fonts/@{family}/@{name}.ttf') format('truetype'),
url('../fonts/@{family}/@{name}.svg#icon') format('svg');
font-weight: @weight;
font-style: @style;
}
}
/* --------------------------------------------------------
Button Varients
-----------------------------------------------------------*/
.button-variant(@color; @background; @border) {
color: @color;
background-color: @background;
border-color: @border;
&:hover,
&:focus,
&.focus,
&:active,
&.active,
.open > .dropdown-toggle& {
color: @color;
background-color: darken(@background, 2%);
border-color: darken(@border, 1%);
}
&:active,
&.active,
.open > .dropdown-toggle& {
background-image: none;
}
&.disabled,
&[disabled],
fieldset[disabled] & {
&,
&:hover,
&:focus,
&.focus,
&:active,
&.active {
background-color: @background;
border-color: @border;
}
}
.badge {
color: @background;
background-color: @color;
}
}
/* --------------------------------------------------------
CSS Transform - Scale and Rotate
-----------------------------------------------------------*/
.scale-rotate(@scale, @rotate) {
-webkit-transform: scale(@scale) rotate(@rotate);
-ms-transform: scale(@scale) rotate(@rotate);
-o-transform: scale(@scale) rotate(@rotate);
transform: scale(@scale) rotate(@rotate);
}
/* --------------------------------------------------------
CSS Animations based on animate.css
-----------------------------------------------------------*/
.animated(@name, @duration) {
-webkit-animation-name: @name;
animation-name: @name;
-webkit-animation-duration: @duration;
animation-duration: @duration;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}

View File

@@ -0,0 +1,65 @@
.modal-header {
padding: 23px 26px;
}
.modal-body {
padding: 0 26px 10px;
}
.modal-content {
box-shadow: 0 5px 20px rgba(0, 0, 0, 0.31);
}
.modal-footer {
padding: 20px 26px;
}
.modal-xl {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
.modal-dialog {
position: fixed;
margin: 0;
width: 100%;
height: 100%;
padding: 0;
}
.modal-content {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 2px solid #3c7dcf;
border-radius: 0;
box-shadow: none;
}
.modal-header {
position: absolute;
top: 0;
right: 0;
left: 0;
height: 50px;
padding: 10px;
border: 0;
}
.modal-body {
position: absolute;
top: 50px;
bottom: 60px;
width: 100%;
overflow: auto;
}
.modal-footer {
position: absolute;
right: 0;
bottom: 0;
left: 0;
height: 60px;
padding: 10px;
}
}

View File

@@ -0,0 +1,33 @@
a.navbar-brand {
padding: 5px 5px 0px 0px;
margin-left: 0px !important;
}
.navbar .fa {
font-size: 18px;
}
.navbar .collapse.in {
background: #222;
}
a.navbar-brand img {
height: 40px;
}
.avatar {
margin-top: 5px;
margin-bottom: 5px;
}
.avatar img {
width: 40px;
height: 40px;
}
#logout {
color: white;
position: relative;
left: -9px;
bottom: -11px;
}

View File

@@ -0,0 +1,11 @@
.overlay {
background-color: #808080;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
padding: 0;
z-index: 1000;
opacity: 0.8;
}

Some files were not shown because too many files have changed in this diff Show More