alchemy_cms 5.1.0.beta2 → 5.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +126 -0
- data/CHANGELOG.md +29 -1
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/alchemy_cms.gemspec +1 -1
- data/app/assets/javascripts/alchemy/admin.js +0 -1
- data/app/assets/stylesheets/alchemy/_variables.scss +5 -0
- data/app/assets/stylesheets/alchemy/admin.scss +0 -1
- data/app/assets/stylesheets/alchemy/buttons.scss +26 -15
- data/app/assets/stylesheets/alchemy/elements.scss +58 -19
- data/app/assets/stylesheets/alchemy/frame.scss +0 -1
- data/app/assets/stylesheets/alchemy/hints.scss +2 -1
- data/app/assets/stylesheets/alchemy/search.scss +1 -1
- data/app/assets/stylesheets/alchemy/selects.scss +23 -19
- data/app/assets/stylesheets/alchemy/tables.scss +38 -9
- data/app/controllers/alchemy/admin/pages_controller.rb +48 -7
- data/app/decorators/alchemy/element_editor.rb +67 -0
- data/app/models/alchemy/legacy_page_url.rb +1 -1
- data/app/models/alchemy/page.rb +8 -0
- data/app/models/alchemy/site/layout.rb +30 -2
- data/app/serializers/alchemy/page_tree_serializer.rb +4 -4
- data/app/views/alchemy/admin/elements/_element.html.erb +1 -1
- data/app/views/alchemy/admin/elements/_element_toolbar.html.erb +1 -1
- data/app/views/alchemy/admin/elements/publish.js.erb +1 -0
- data/app/views/alchemy/admin/pages/_create_language_form.html.erb +19 -29
- data/app/views/alchemy/admin/pages/_new_page_form.html.erb +10 -1
- data/app/views/alchemy/admin/pages/_page_layout_filter.html.erb +29 -0
- data/app/views/alchemy/admin/pages/_table.html.erb +27 -0
- data/app/views/alchemy/admin/pages/_table_row.html.erb +107 -0
- data/app/views/alchemy/admin/pages/_toolbar.html.erb +77 -0
- data/app/views/alchemy/admin/pages/index.html.erb +41 -74
- data/app/views/alchemy/admin/pages/list/_table.html.erb +31 -0
- data/app/views/alchemy/admin/pages/unlock.js.erb +2 -2
- data/app/views/alchemy/admin/pages/update.js.erb +19 -10
- data/app/views/alchemy/admin/resources/_filter_bar.html.erb +13 -11
- data/config/locales/alchemy.en.yml +4 -4
- data/lib/alchemy/permissions.rb +1 -0
- data/lib/alchemy/resource.rb +5 -3
- data/lib/alchemy/test_support/integration_helpers.rb +0 -7
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +0 -1
- data/vendor/assets/javascripts/jquery_plugins/select2.js +3729 -0
- data/vendor/assets/stylesheets/alchemy_admin/select2.scss +740 -0
- metadata +29 -29
- data/.travis.yml +0 -48
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 33ff8306fdffc9ad14b1bb85077ea9b6bdaafe6439f30b5b499ca6ed77b68c4d
|
|
4
|
+
data.tar.gz: 7497565de311903f47b2924394f588d49f5542902aab4da14ffd3bb3a01d72be
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d385b92ccaaebff2f41118c9cc308524488fd8fecd394bfefa66cee8fc2c4827a08392985920657c87f9a519e274ad368961292500d034dbf276d3e9bea0126d
|
|
7
|
+
data.tar.gz: 277aade952423c3bd043603e3e4398ce3b8b2e5ea9600f3e5777429d3af29644b9bc4640548d0d4aa5094b5c8a3a3f5b531dd1f2fb9495d1115efdb2d07635c1
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
RSpec:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
strategy:
|
|
9
|
+
fail-fast: false
|
|
10
|
+
matrix:
|
|
11
|
+
rails:
|
|
12
|
+
- '5.2'
|
|
13
|
+
- '6.0'
|
|
14
|
+
ruby:
|
|
15
|
+
- '2.5.x'
|
|
16
|
+
- '2.6.x'
|
|
17
|
+
database:
|
|
18
|
+
- mysql
|
|
19
|
+
- postgresql
|
|
20
|
+
env:
|
|
21
|
+
DB: ${{ matrix.database }}
|
|
22
|
+
DB_USER: alchemy_user
|
|
23
|
+
DB_PASSWORD: password
|
|
24
|
+
DB_HOST: '127.0.0.1'
|
|
25
|
+
RAILS_ENV: test
|
|
26
|
+
RAILS_VERSION: ${{ matrix.rails }}
|
|
27
|
+
services:
|
|
28
|
+
postgres:
|
|
29
|
+
image: postgres:11
|
|
30
|
+
env:
|
|
31
|
+
POSTGRES_USER: alchemy_user
|
|
32
|
+
POSTGRES_PASSWORD: password
|
|
33
|
+
POSTGRES_DB: alchemy_cms_dummy_test
|
|
34
|
+
ports: ['5432:5432']
|
|
35
|
+
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
|
|
36
|
+
mysql:
|
|
37
|
+
image: mysql:latest
|
|
38
|
+
ports: ['3306:3306']
|
|
39
|
+
env:
|
|
40
|
+
MYSQL_USER: alchemy_user
|
|
41
|
+
MYSQL_PASSWORD: password
|
|
42
|
+
MYSQL_DATABASE: alchemy_cms_dummy_test
|
|
43
|
+
MYSQL_ROOT_PASSWORD: password
|
|
44
|
+
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=5
|
|
45
|
+
steps:
|
|
46
|
+
- uses: actions/checkout@v2.3.4
|
|
47
|
+
- name: Set up Ruby
|
|
48
|
+
uses: actions/setup-ruby@v1.1.2
|
|
49
|
+
with:
|
|
50
|
+
ruby-version: ${{ matrix.ruby }}
|
|
51
|
+
- name: Restore apt cache
|
|
52
|
+
id: apt-cache
|
|
53
|
+
uses: actions/cache@v2.1.3
|
|
54
|
+
with:
|
|
55
|
+
path: /home/runner/apt/cache
|
|
56
|
+
key: ${{ runner.os }}-apt-${{ matrix.database }}
|
|
57
|
+
restore-keys: |
|
|
58
|
+
${{ runner.os }}-apt-
|
|
59
|
+
- name: Install Postgres headers
|
|
60
|
+
if: matrix.database == 'postgresql'
|
|
61
|
+
run: |
|
|
62
|
+
mkdir -p /home/runner/apt/cache
|
|
63
|
+
sudo apt update -qq
|
|
64
|
+
sudo apt install -qq --fix-missing libpq-dev -o dir::cache::archives="/home/runner/apt/cache"
|
|
65
|
+
sudo chown -R runner /home/runner/apt/cache
|
|
66
|
+
- name: Install MySQL headers
|
|
67
|
+
if: matrix.database == 'mysql'
|
|
68
|
+
run: |
|
|
69
|
+
mkdir -p /home/runner/apt/cache
|
|
70
|
+
sudo apt update -qq
|
|
71
|
+
sudo apt install -qq --fix-missing libmysqlclient-dev -o dir::cache::archives="/home/runner/apt/cache"
|
|
72
|
+
sudo chown -R runner /home/runner/apt/cache
|
|
73
|
+
- name: Install bundler
|
|
74
|
+
run: |
|
|
75
|
+
gem install bundler
|
|
76
|
+
- name: Restore Ruby Gems cache
|
|
77
|
+
id: cache
|
|
78
|
+
uses: actions/cache@v2.1.3
|
|
79
|
+
with:
|
|
80
|
+
path: vendor/bundle
|
|
81
|
+
key: ${{ runner.os }}-bundle-${{ matrix.ruby }}-${{ matrix.rails }}-${{ matrix.database }}-${{ hashFiles('**/Gemfile') }}
|
|
82
|
+
restore-keys: |
|
|
83
|
+
${{ runner.os }}-bundle-
|
|
84
|
+
- name: Install bundle
|
|
85
|
+
timeout-minutes: 10
|
|
86
|
+
run: |
|
|
87
|
+
bundle install --jobs 4 --retry 3 --path vendor/bundle
|
|
88
|
+
- name: Restore node modules cache
|
|
89
|
+
id: yarn-cache
|
|
90
|
+
uses: actions/cache@v2.1.3
|
|
91
|
+
with:
|
|
92
|
+
path: spec/dummy/node_modules
|
|
93
|
+
key: ${{ runner.os }}-yarn-dummy-${{ hashFiles('./package.json') }}
|
|
94
|
+
restore-keys: |
|
|
95
|
+
${{ runner.os }}-yarn-dummy-
|
|
96
|
+
- name: Prepare database
|
|
97
|
+
run: |
|
|
98
|
+
bundle exec rake alchemy:spec:prepare
|
|
99
|
+
- name: Run tests & publish code coverage
|
|
100
|
+
uses: paambaati/codeclimate-action@v2.7.5
|
|
101
|
+
env:
|
|
102
|
+
CC_TEST_REPORTER_ID: bca4349e32f97919210ac8a450b04904b90683fcdd57d65a22c0f5065482bc22
|
|
103
|
+
with:
|
|
104
|
+
coverageCommand: bundle exec rspec
|
|
105
|
+
- uses: actions/upload-artifact@main
|
|
106
|
+
if: failure()
|
|
107
|
+
with:
|
|
108
|
+
name: Screenshots
|
|
109
|
+
path: spec/dummy/tmp/screenshots
|
|
110
|
+
Jest:
|
|
111
|
+
runs-on: ubuntu-latest
|
|
112
|
+
env:
|
|
113
|
+
NODE_ENV: test
|
|
114
|
+
steps:
|
|
115
|
+
- uses: actions/checkout@v2.3.4
|
|
116
|
+
- name: Restore node modules cache
|
|
117
|
+
uses: actions/cache@v2.1.3
|
|
118
|
+
with:
|
|
119
|
+
path: node_modules
|
|
120
|
+
key: ${{ runner.os }}-yarn-${{ hashFiles('./package.json') }}
|
|
121
|
+
restore-keys: |
|
|
122
|
+
${{ runner.os }}-yarn-
|
|
123
|
+
- name: Install yarn
|
|
124
|
+
run: yarn install
|
|
125
|
+
- name: Run jest
|
|
126
|
+
run: yarn jest
|
data/CHANGELOG.md
CHANGED
|
@@ -1,16 +1,34 @@
|
|
|
1
|
-
## 5.1.
|
|
1
|
+
## 5.1.3 (2021-05-06)
|
|
2
|
+
|
|
3
|
+
- Use symbols in polymorphic routes for resources [#2087](https://github.com/AlchemyCMS/alchemy_cms/pull/2087) ([tvdeyen](https://github.com/tvdeyen))
|
|
4
|
+
- Backport #2049 to 5.1 [#2059](https://github.com/AlchemyCMS/alchemy_cms/pull/2059) ([rickythefox](https://github.com/rickythefox))
|
|
5
|
+
## 5.1.2 (2021-01-26)
|
|
6
|
+
|
|
7
|
+
- Allow to safe hidden elements [#2007](https://github.com/AlchemyCMS/alchemy_cms/pull/2007) ([tvdeyen](https://github.com/tvdeyen))
|
|
8
|
+
|
|
9
|
+
## 5.1.1 (2021-01-12)
|
|
10
|
+
|
|
11
|
+
- Fix copy element feature [#1996](https://github.com/AlchemyCMS/alchemy_cms/pull/1996) ([tvdeyen](https://github.com/tvdeyen))
|
|
12
|
+
|
|
13
|
+
## 5.1.0 (2020-12-18)
|
|
2
14
|
|
|
3
15
|
### Features
|
|
4
16
|
|
|
17
|
+
- Allow pound sign in legacy url [#1980](https://github.com/AlchemyCMS/alchemy_cms/pull/1980) ([robinboening](https://github.com/robinboening))
|
|
18
|
+
- Adjust element editor UI [#1979](https://github.com/AlchemyCMS/alchemy_cms/pull/1979) ([tvdeyen](https://github.com/tvdeyen))
|
|
19
|
+
- Always show the full page name in active page tab [#1972](https://github.com/AlchemyCMS/alchemy_cms/pull/1972) ([tvdeyen](https://github.com/tvdeyen))
|
|
5
20
|
- Allow multiple preview sources [#1959](https://github.com/AlchemyCMS/alchemy_cms/pull/1959) ([tvdeyen](https://github.com/tvdeyen))
|
|
6
21
|
- Add Publish Targets [#1957](https://github.com/AlchemyCMS/alchemy_cms/pull/1957) ([tvdeyen](https://github.com/tvdeyen))
|
|
7
22
|
- Persist rendered picture variants [#1882](https://github.com/AlchemyCMS/alchemy_cms/pull/1882) ([tvdeyen](https://github.com/tvdeyen))
|
|
8
23
|
- Store current pictures size in session [#1927](https://github.com/AlchemyCMS/alchemy_cms/pull/1927) ([tvdeyen](https://github.com/tvdeyen))
|
|
9
24
|
- Add support for custom mount points in Page::UrlPath [#1921](https://github.com/AlchemyCMS/alchemy_cms/pull/1921) ([tvdeyen](https://github.com/tvdeyen))
|
|
10
25
|
- Allow to set a custom Page::UrlPath class [#1919](https://github.com/AlchemyCMS/alchemy_cms/pull/1919) ([tvdeyen](https://github.com/tvdeyen))
|
|
26
|
+
- Introduce a pages list view [#1906](https://github.com/AlchemyCMS/alchemy_cms/pull/1906) ([tvdeyen](https://github.com/tvdeyen))
|
|
11
27
|
|
|
12
28
|
### Changes
|
|
13
29
|
|
|
30
|
+
- Fix height of search input field [#1973](https://github.com/AlchemyCMS/alchemy_cms/pull/1973) ([tvdeyen](https://github.com/tvdeyen))
|
|
31
|
+
- Load select2 from assets folder [#1961](https://github.com/AlchemyCMS/alchemy_cms/pull/1961) ([tvdeyen](https://github.com/tvdeyen))
|
|
14
32
|
- Do not abort if user class cannot be found [#1950](https://github.com/AlchemyCMS/alchemy_cms/pull/1950) ([tvdeyen](https://github.com/tvdeyen))
|
|
15
33
|
- Deprivatize useful picture view methods [#1936](https://github.com/AlchemyCMS/alchemy_cms/pull/1936) ([mickenorlen](https://github.com/mickenorlen))
|
|
16
34
|
- Unset render_size on layout default selection [#1935](https://github.com/AlchemyCMS/alchemy_cms/pull/1935) ([mickenorlen](https://github.com/mickenorlen))
|
|
@@ -38,6 +56,8 @@
|
|
|
38
56
|
|
|
39
57
|
### Misc
|
|
40
58
|
|
|
59
|
+
- Move away from Travis CI [#1981](https://github.com/AlchemyCMS/alchemy_cms/pull/1981) ([tvdeyen](https://github.com/tvdeyen))
|
|
60
|
+
- Remove poltergeist and phantomjs leftovers [#1970](https://github.com/AlchemyCMS/alchemy_cms/pull/1970) ([tvdeyen](https://github.com/tvdeyen))
|
|
41
61
|
- [ruby - main] Upgrade rubocop to version 1.1.0 [#1958](https://github.com/AlchemyCMS/alchemy_cms/pull/1958) ([depfu](https://github.com/apps/depfu))
|
|
42
62
|
- Remove greetings action [#1956](https://github.com/AlchemyCMS/alchemy_cms/pull/1956) ([tvdeyen](https://github.com/tvdeyen))
|
|
43
63
|
- [ruby] Upgrade rubocop to version 1.0.0 [#1952](https://github.com/AlchemyCMS/alchemy_cms/pull/1952) ([depfu](https://github.com/apps/depfu))
|
|
@@ -50,6 +70,14 @@
|
|
|
50
70
|
- [ruby] Upgrade rubocop to version 0.88.0 [#1892](https://github.com/AlchemyCMS/alchemy_cms/pull/1892) ([depfu](https://github.com/apps/depfu))
|
|
51
71
|
- [ruby] Upgrade rubocop to version 0.87.1 [#1889](https://github.com/AlchemyCMS/alchemy_cms/pull/1889) ([depfu](https://github.com/apps/depfu))
|
|
52
72
|
|
|
73
|
+
## 5.0.3 (2021-01-12)
|
|
74
|
+
|
|
75
|
+
- Fix copy element feature [#1996](https://github.com/AlchemyCMS/alchemy_cms/pull/1996) ([tvdeyen](https://github.com/tvdeyen))
|
|
76
|
+
|
|
77
|
+
## 5.0.2 (2020-12-18)
|
|
78
|
+
|
|
79
|
+
- Fix page sorting [#1984](https://github.com/AlchemyCMS/alchemy_cms/pull/1984) ([tvdeyen](https://github.com/tvdeyen))
|
|
80
|
+
|
|
53
81
|
## 5.0.1 (2020-09-29)
|
|
54
82
|
|
|
55
83
|
- [a11y] Better image alt text support [#1940](https://github.com/AlchemyCMS/alchemy_cms/pull/1940) ([tvdeyen](https://github.com/tvdeyen))
|
data/Gemfile
CHANGED
|
@@ -13,7 +13,7 @@ gem "mysql2", "~> 0.5.1" if ENV["DB"] == "mysql"
|
|
|
13
13
|
gem "pg", "~> 1.0" if ENV["DB"] == "postgresql"
|
|
14
14
|
|
|
15
15
|
group :development, :test do
|
|
16
|
-
if ENV["
|
|
16
|
+
if ENV["GITHUB_ACTIONS"]
|
|
17
17
|
gem "sassc", "~> 2.4.0" # https://github.com/sass/sassc-ruby/issues/146
|
|
18
18
|
else
|
|
19
19
|
gem "launchy"
|
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# AlchemyCMS
|
|
2
2
|
|
|
3
3
|
[](http://badge.fury.io/rb/alchemy_cms)
|
|
4
|
-
[](https://github.com/AlchemyCMS/alchemy_cms/actions)
|
|
5
5
|
[](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/maintainability)
|
|
6
6
|
[](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/test_coverage)
|
|
7
7
|
[](https://depfu.com/github/AlchemyCMS/alchemy_cms?project_id=4600)
|
data/alchemy_cms.gemspec
CHANGED
|
@@ -37,7 +37,6 @@ Gem::Specification.new do |gem|
|
|
|
37
37
|
gem.add_runtime_dependency 'request_store', ['~> 1.2']
|
|
38
38
|
gem.add_runtime_dependency 'responders', ['>= 2.0', '< 4.0']
|
|
39
39
|
gem.add_runtime_dependency 'sassc-rails', ['~> 2.1']
|
|
40
|
-
gem.add_runtime_dependency 'select2-rails', ['>= 3.5.9.1', '< 4.0']
|
|
41
40
|
gem.add_runtime_dependency 'simple_form', ['>= 4.0', '< 6']
|
|
42
41
|
gem.add_runtime_dependency 'sprockets', ['>= 3.0', '< 5']
|
|
43
42
|
gem.add_runtime_dependency 'turbolinks', ['>= 2.5']
|
|
@@ -54,6 +53,7 @@ Gem::Specification.new do |gem|
|
|
|
54
53
|
gem.add_development_dependency 'webdrivers', ['~> 4.0']
|
|
55
54
|
gem.add_development_dependency 'webmock', ['~> 3.3']
|
|
56
55
|
gem.add_development_dependency 'shoulda-matchers', ['~> 4.0']
|
|
56
|
+
gem.add_development_dependency 'timecop', ['~> 0.9']
|
|
57
57
|
|
|
58
58
|
gem.post_install_message = <<-MSG
|
|
59
59
|
-------------------------------------------------------------
|
|
@@ -102,6 +102,9 @@ $error_border_color: #c49c9c !default;
|
|
|
102
102
|
$error_text_color: #a23434 !default;
|
|
103
103
|
$error_background_color: #efd3d3 !default;
|
|
104
104
|
|
|
105
|
+
$hint-background-color: $light_yellow !default;
|
|
106
|
+
$hint-text-color: $very-dark-gray !default;
|
|
107
|
+
|
|
105
108
|
$form-left-width: 35% !default;
|
|
106
109
|
$form-right-width: 65% !default;
|
|
107
110
|
|
|
@@ -140,6 +143,8 @@ $table-row-hover-color: rgba($light_yellow, 0.5) !default;
|
|
|
140
143
|
$elements-window-width: 22.5vw !default;
|
|
141
144
|
$elements-window-min-width: 400px !default;
|
|
142
145
|
$element-header-bg-color: $medium-gray !default;
|
|
146
|
+
$element-header-active-bg-color: $dark-blue !default;
|
|
147
|
+
$element-header-active-color: $white !default;
|
|
143
148
|
$top-menu-height: 75px !default;
|
|
144
149
|
|
|
145
150
|
$tabs-height: 31px !default;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
button,
|
|
1
|
+
button,
|
|
2
|
+
input[type="submit"],
|
|
3
|
+
a.button,
|
|
4
|
+
input.button {
|
|
2
5
|
@include button-defaults;
|
|
3
6
|
position: relative;
|
|
4
7
|
|
|
@@ -14,7 +17,8 @@ button, input[type="submit"], a.button, input.button {
|
|
|
14
17
|
);
|
|
15
18
|
}
|
|
16
19
|
|
|
17
|
-
&:active,
|
|
20
|
+
&:active,
|
|
21
|
+
&:active:focus {
|
|
18
22
|
border-color: $button-hover-border-color;
|
|
19
23
|
box-shadow: none;
|
|
20
24
|
}
|
|
@@ -23,7 +27,7 @@ button, input[type="submit"], a.button, input.button {
|
|
|
23
27
|
&.small {
|
|
24
28
|
padding: $small-button-padding;
|
|
25
29
|
vertical-align: inherit;
|
|
26
|
-
line-height: 4
|
|
30
|
+
line-height: 4 * $default-padding;
|
|
27
31
|
font-size: inherit;
|
|
28
32
|
}
|
|
29
33
|
|
|
@@ -83,13 +87,14 @@ button, input[type="submit"], a.button, input.button {
|
|
|
83
87
|
border: $default-border-width $default-border-style $icon-color;
|
|
84
88
|
color: $icon-color;
|
|
85
89
|
|
|
86
|
-
.icon {
|
|
90
|
+
.icon {
|
|
91
|
+
color: inherit;
|
|
92
|
+
}
|
|
87
93
|
}
|
|
88
94
|
}
|
|
89
95
|
|
|
90
96
|
&.disabled,
|
|
91
97
|
&[disabled] {
|
|
92
|
-
|
|
93
98
|
span {
|
|
94
99
|
opacity: 0.3;
|
|
95
100
|
cursor: not-allowed;
|
|
@@ -118,7 +123,8 @@ button.icon_button {
|
|
|
118
123
|
border: 0 none;
|
|
119
124
|
box-shadow: none;
|
|
120
125
|
|
|
121
|
-
&:disabled,
|
|
126
|
+
&:disabled,
|
|
127
|
+
&.disabled {
|
|
122
128
|
background: transparent;
|
|
123
129
|
}
|
|
124
130
|
}
|
|
@@ -131,10 +137,15 @@ button.icon_button {
|
|
|
131
137
|
position: relative;
|
|
132
138
|
display: inline-block;
|
|
133
139
|
text-align: center;
|
|
134
|
-
margin: 0 2*$default-margin;
|
|
135
140
|
|
|
136
|
-
|
|
137
|
-
|
|
141
|
+
.toolbar_buttons & {
|
|
142
|
+
margin: 0 2 * $default-margin;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
&.active,
|
|
146
|
+
&:active,
|
|
147
|
+
&:hover {
|
|
148
|
+
.icon_button:not([disabled]) {
|
|
138
149
|
background-color: $default-border-color;
|
|
139
150
|
cursor: pointer;
|
|
140
151
|
}
|
|
@@ -161,8 +172,8 @@ button.icon_button {
|
|
|
161
172
|
}
|
|
162
173
|
}
|
|
163
174
|
|
|
164
|
-
.button_with_label,
|
|
165
|
-
|
|
175
|
+
.button_with_label,
|
|
176
|
+
.button_group {
|
|
166
177
|
.icon_button {
|
|
167
178
|
width: 29px;
|
|
168
179
|
height: 29px;
|
|
@@ -179,16 +190,16 @@ button.icon_button {
|
|
|
179
190
|
z-index: 30;
|
|
180
191
|
background-color: $tooltip-background-color;
|
|
181
192
|
color: $white;
|
|
182
|
-
padding: $default-padding 2
|
|
193
|
+
padding: $default-padding 2 * $default-padding 1.5 * $default-padding;
|
|
183
194
|
line-height: 1;
|
|
184
195
|
box-shadow: 0 0 4px $default-border-color;
|
|
185
196
|
white-space: nowrap;
|
|
186
197
|
pointer-events: none;
|
|
187
198
|
opacity: 0;
|
|
188
|
-
transition: .3s;
|
|
199
|
+
transition: 0.3s;
|
|
189
200
|
|
|
190
201
|
&:before {
|
|
191
|
-
content:
|
|
202
|
+
content: "";
|
|
192
203
|
position: absolute;
|
|
193
204
|
bottom: -10px;
|
|
194
205
|
left: 8px;
|
|
@@ -238,6 +249,6 @@ button.icon_button {
|
|
|
238
249
|
visibility: visible;
|
|
239
250
|
opacity: 1;
|
|
240
251
|
top: -25px;
|
|
241
|
-
transition-delay: .2s;
|
|
252
|
+
transition-delay: 0.2s;
|
|
242
253
|
}
|
|
243
254
|
}
|
|
@@ -60,6 +60,7 @@
|
|
|
60
60
|
max-width: 85%;
|
|
61
61
|
margin-left: $default-margin;
|
|
62
62
|
text-overflow: ellipsis;
|
|
63
|
+
transition: color $transition-duration;
|
|
63
64
|
|
|
64
65
|
.has-hint & {
|
|
65
66
|
max-width: 80%;
|
|
@@ -73,7 +74,6 @@
|
|
|
73
74
|
|
|
74
75
|
.preview_text_element_name {
|
|
75
76
|
font-size: $small-font-size;
|
|
76
|
-
text-shadow: #efefef 1px 1px 1px;
|
|
77
77
|
font-weight: bold;
|
|
78
78
|
line-height: 15px;
|
|
79
79
|
}
|
|
@@ -106,6 +106,7 @@
|
|
|
106
106
|
height: 16px;
|
|
107
107
|
right: 8px;
|
|
108
108
|
top: 10px;
|
|
109
|
+
transition: none;
|
|
109
110
|
|
|
110
111
|
.error_icon {
|
|
111
112
|
float: left;
|
|
@@ -126,6 +127,32 @@
|
|
|
126
127
|
margin-bottom: 2*$default-margin;
|
|
127
128
|
transition: box-shadow $transition-duration;
|
|
128
129
|
|
|
130
|
+
&.hidden {
|
|
131
|
+
display: block;
|
|
132
|
+
border-style: dashed;
|
|
133
|
+
opacity: 0.5;
|
|
134
|
+
transition: opacity $transition-duration;
|
|
135
|
+
|
|
136
|
+
> .element-header {
|
|
137
|
+
background-color: transparent;
|
|
138
|
+
background-image: linear-gradient(
|
|
139
|
+
45deg,
|
|
140
|
+
$light-gray 25%,
|
|
141
|
+
$medium-gray 25%,
|
|
142
|
+
$medium-gray 50%,
|
|
143
|
+
$light-gray 50%,
|
|
144
|
+
$light-gray 75%,
|
|
145
|
+
$medium-gray 75%,
|
|
146
|
+
$medium-gray 100%
|
|
147
|
+
);
|
|
148
|
+
background-size: 28.28px 28.28px;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
&:hover {
|
|
152
|
+
opacity: 1;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
129
156
|
&.is-fixed {
|
|
130
157
|
border-width: 0;
|
|
131
158
|
border-radius: 0;
|
|
@@ -143,9 +170,17 @@
|
|
|
143
170
|
}
|
|
144
171
|
}
|
|
145
172
|
|
|
146
|
-
&.selected:not(.is-fixed) {
|
|
147
|
-
|
|
148
|
-
|
|
173
|
+
&.selected:not(.is-fixed), &:hover {
|
|
174
|
+
&:not(.hidden) {
|
|
175
|
+
box-shadow: 0 2px 8px rgba(#9b9b9b, 0.75);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
&.selected:not(.is-fixed):not(.folded):not(.dirty):not(.hidden) {
|
|
180
|
+
> .element-header {
|
|
181
|
+
background-color: $element-header-active-bg-color;
|
|
182
|
+
color: $element-header-active-color;
|
|
183
|
+
}
|
|
149
184
|
}
|
|
150
185
|
|
|
151
186
|
&.folded {
|
|
@@ -221,21 +256,10 @@
|
|
|
221
256
|
}
|
|
222
257
|
}
|
|
223
258
|
|
|
224
|
-
.element_tools {
|
|
225
|
-
display: flex;
|
|
226
|
-
width: 100%;
|
|
227
|
-
justify-content: space-between;
|
|
228
|
-
margin-left: 0;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
259
|
.element-content {
|
|
232
260
|
margin: 4px 8px;
|
|
233
261
|
}
|
|
234
262
|
|
|
235
|
-
.button_with_label {
|
|
236
|
-
margin: 0 4px;
|
|
237
|
-
}
|
|
238
|
-
|
|
239
263
|
.content_editor,
|
|
240
264
|
.picture_thumbnail {
|
|
241
265
|
width: 100%;
|
|
@@ -313,7 +337,18 @@
|
|
|
313
337
|
background-color: $element-header-bg-color;
|
|
314
338
|
@extend .disable-user-select;
|
|
315
339
|
cursor: pointer;
|
|
316
|
-
|
|
340
|
+
border-radius: $default-border-radius;
|
|
341
|
+
transition: background-color $transition-duration;
|
|
342
|
+
|
|
343
|
+
.expanded & {
|
|
344
|
+
border-bottom-left-radius: 0;
|
|
345
|
+
border-bottom-right-radius: 0;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.icon {
|
|
349
|
+
color: inherit;
|
|
350
|
+
transition: color $transition-duration;
|
|
351
|
+
}
|
|
317
352
|
|
|
318
353
|
>.hint-with-icon {
|
|
319
354
|
position: absolute;
|
|
@@ -338,10 +373,14 @@
|
|
|
338
373
|
padding: $default-padding 0;
|
|
339
374
|
height: $element-toolbar-height;
|
|
340
375
|
border-bottom: 1px solid $medium-gray;
|
|
376
|
+
}
|
|
341
377
|
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
378
|
+
.element_tools {
|
|
379
|
+
display: flex;
|
|
380
|
+
width: 100%;
|
|
381
|
+
|
|
382
|
+
.button_with_label {
|
|
383
|
+
margin: 0 2px;
|
|
345
384
|
}
|
|
346
385
|
}
|
|
347
386
|
|