arctic_admin 3.3.0 → 4.0.0.alpha

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f6941e04a5fe35cb8dfb68e36db36ab2099a29c556b2bfb439442c87387c6827
4
- data.tar.gz: d6723be6be3dbbf41c762bf864408a902c989229ad6ea527a6619094b4f04d28
3
+ metadata.gz: d80f79149e44a52c1d586e425e82313f2d83aea8455d59eaba12a72fb94abc30
4
+ data.tar.gz: ff9b250756327bb54eb0ee374d4cacb0a9cb7b6090da861ee85beceda2534f62
5
5
  SHA512:
6
- metadata.gz: 3f4305722258dc1735b389db444cb32cf987818b6ee9e110353b814a4245a2930ac234c714f147dd4dab4fc73734e0f6e69bcff4c3c4b892bd165afbf07be1f9
7
- data.tar.gz: 25ea935c291845e8d52ec6e34689785ca1e13866e6b4a4994ac68129bda1b9311ea47f1f46a628ef2305ad6f5ee6b928d4bda40494d1461476a6d965a382f3db
6
+ metadata.gz: 6844d6c0fbd22ce592aa64c9f5f27e93033564f44bd7856a3e9d2f3f0ab52ffb5c8a44c106ec9eac85e7dd50c6213649930bfa303a451b4ea867405bc9ded0fd
7
+ data.tar.gz: 159bce7c3570d89754af6964c035497b6adbc0a87f6f709a06fa556c4ddfdd924a48866518336e6424a81cd0efa6ae87df472c3e9f8442d10bf4ef846bb62548
data/Readme.md CHANGED
@@ -14,8 +14,6 @@ Simple theme for ActiveAdmin :ok_hand:
14
14
 
15
15
  ## Installation
16
16
 
17
- >**⚠️ If you are using webpacker (Standard with Rails 6) look below**
18
-
19
17
  - Add this to your Gemfile:
20
18
 
21
19
  ```ruby
@@ -81,10 +79,10 @@ In your `active_admin.js`, include the js file:
81
79
 
82
80
  ### 1 - Preparation
83
81
 
84
- Install the needed assets with npm or yarn:
82
+ Install the assets from npm or yarn
85
83
 
86
84
  ```
87
- yarn add arctic_admin @fortawesome/fontawesome-free
85
+ yarn add arctic_admin
88
86
  ```
89
87
 
90
88
 
@@ -105,24 +103,26 @@ Remove:
105
103
 
106
104
  ### 3 - JS
107
105
 
108
- Search for `app/javascript/packs/active_admin.js` in your rails project and add the following lines:
106
+ In your `app/javascript/packs/active_admin.js`, add the line:
109
107
 
110
108
  ```js
111
- import "@fortawesome/fontawesome-free/css/all.css";
112
109
  import 'arctic_admin'
113
110
  ```
114
111
 
115
112
 
116
113
  ### Customization
117
114
 
118
- For this, you need to use SASS to customize the theming.
115
+ For this, you need to use sass to custom the theme.
116
+
117
+ You can even change basic color of the theme by placing some other variables:
119
118
 
120
- Right now you can change the primary color of the theme by placing the following variable in your `active_admin.scss` file:
119
+ If you use the [SCSS](http://sass-lang.com/documentation/file.SASS_REFERENCE.html), add this to your
120
+ `active_admin.scss` file:
121
121
 
122
122
  ```scss
123
123
  $primary-color: #2dbb43;
124
124
 
125
- @import "~arctic_admin/src/scss/main";
125
+ @import "arctic_admin/base";
126
126
  ```
127
127
 
128
128
  If you use the
@@ -132,7 +132,7 @@ add this to your `active_admin.sass` file:
132
132
  ```sass
133
133
  $primary-color: #2dbb43
134
134
 
135
- @import ~arctic_admin/src/scss/main
135
+ @import arctic_admin/base
136
136
  ```
137
137
 
138
138
  Then restart your webserver if it was previously running.
@@ -1,4 +1,2 @@
1
- //= require jquery
2
- //= require jquery_ujs
3
1
  //= require active_admin/base
4
2
  //= require ./main
@@ -1,99 +1,50 @@
1
- $(function () {
2
- var animationFilterDone = true
3
- $(document).on('click touchstart', '#sidebar', function (e) {
4
- if (animationFilterDone == true) {
5
- var position = $(this).position()
6
- var width = $(this).width()
7
- var target = e.target
8
- if (
9
- e.pageX < position.left &&
10
- target.tagName != 'SELECT' &&
11
- target.tagName != 'OPTION'
12
- ) {
13
- if ($(this).css('right') == '0px') {
14
- $(this).css('position', 'fixed')
15
- $(this).animate(
16
- {
17
- right: '-=' + width
18
- },
19
- 600,
20
- function () {
21
- $(this).removeAttr('style')
22
- animationFilterDone = true
23
- }
24
- )
25
- } else {
26
- $(this).animate(
27
- {
28
- right: '+=' + width
29
- },
30
- 600,
31
- function () {
32
- $(this).css('position', 'absolute')
33
- animationFilterDone = true
34
- }
35
- )
36
- }
37
- }
38
- }
39
- })
1
+ document.addEventListener('DOMContentLoaded', () => {
40
2
 
41
- var animationDone = true
42
- $(document).on('click touchstart', '#utility_nav', function (e) {
43
- var position = $(this).position()
44
- var tabs = $('#tabs')
45
- var width = (tabs.length==0)? 0 : Math.round(tabs[0].getBoundingClientRect().width)
46
- if (e.pageX < position.left + 40) {
47
- if (animationDone == true) {
48
- animationDone = false
49
- if (tabs.css('left') == '0px') {
50
- tabs.animate(
51
- {
52
- left: '-=' + width
53
- },
54
- 400,
55
- function () {
56
- animationDone = true
57
- }
58
- )
59
- } else {
60
- tabs.animate(
61
- {
62
- left: '+=' + width
63
- },
64
- 400,
65
- function () {
66
- animationDone = true
67
- }
68
- )
69
- }
3
+ // right filter sidebar
4
+ const sidebar = document.querySelector('#sidebar')
5
+ if (sidebar) {
6
+ sidebar.addEventListener('click', event => {
7
+ const insideSection = document.querySelector('#filters_sidebar_section')
8
+ if (!(event.target === insideSection || insideSection.contains(event.target))) {
9
+ sidebar.classList.toggle('sidebar_open')
70
10
  }
11
+ })
12
+ }
13
+
14
+ const menuButton = document.querySelector('#utility_nav')
15
+ const menu = document.querySelector('#tabs')
16
+
17
+ // toggle menu sidebar with the menu button
18
+ menuButton.addEventListener('click', event => {
19
+ const currentUser = document.querySelector('#current_user')
20
+ const logout = document.querySelector('#logout')
21
+ const forbiddenLinks = event.target === logout ||
22
+ logout.contains(event.target) ||
23
+ event.target === currentUser ||
24
+ currentUser.contains(event.target)
25
+ if (!forbiddenLinks) {
26
+ menu.classList.toggle('tabs_open')
71
27
  }
72
28
  })
73
29
 
74
- $(document).on('click touchstart', 'body', function (e) {
75
- var tabs = $('#tabs')
76
- var width = (tabs.length==0)? 0 : Math.round(tabs[0].getBoundingClientRect().width)
77
- if (tabs.css('left') == '0px') {
78
- if (e.pageX > width && e.pageY > 60) {
79
- if (animationDone == true) {
80
- animationDone = false
81
- tabs.animate(
82
- {
83
- left: '-=' + width
84
- },
85
- 400,
86
- function () {
87
- animationDone = true
88
- }
89
- )
90
- }
91
- }
30
+ // close left menu sidebar on any click outside
31
+ document.body.addEventListener('click', event => {
32
+ const forbiddenLinks = event.target === menu ||
33
+ menu.contains(event.target) ||
34
+ event.target === menuButton ||
35
+ menuButton.contains(event.target)
36
+ if (menu.classList.contains('tabs_open') && !forbiddenLinks) {
37
+ menu.classList.remove('tabs_open')
92
38
  }
93
39
  })
94
40
 
95
- $(document).on('click', '#tabs .has_nested', function (e) {
96
- e.stopPropagation()
97
- $(this).toggleClass('open')
98
- })
41
+ // toggle of nested menu items
42
+ const nestedMenuItem = document.querySelector('#tabs .has_nested')
43
+ if (nestedMenuItem) {
44
+ nestedMenuItem.addEventListener('click', (e) => {
45
+ e.stopPropagation()
46
+ nestedMenuItem.classList.toggle('open')
47
+ })
48
+ }
49
+
99
50
  })
@@ -49,6 +49,11 @@
49
49
  .filter_date_range input {
50
50
  width: 45%;
51
51
  display: inline-block;
52
+
53
+ // consistent look of all filters
54
+ &:nth-child(2) {
55
+ float: right;
56
+ }
52
57
  }
53
58
 
54
59
  input[type="submit"] {
@@ -56,9 +61,21 @@
56
61
  line-height: 31px;
57
62
  margin-right: 10px;
58
63
  }
64
+
65
+ &.panel {
66
+ position: relative;
67
+ }
59
68
  }
60
69
 
61
70
  #search-status-_sidebar_section {
62
71
  font-size: 14px;
63
72
  }
64
- }
73
+
74
+ // 'Filter' and 'Clear Filters' buttons
75
+ .buttons {
76
+ display: flex;
77
+ justify-content: space-between;
78
+ align-items: center;
79
+ margin-top: 1rem;
80
+ }
81
+ }
@@ -8,6 +8,12 @@
8
8
  z-index: 1;
9
9
  overflow: auto;
10
10
  left: - $header-width;
11
+ transition: .5s;
12
+ transition-timing-function: ease-in-out;
13
+
14
+ &.tabs_open {
15
+ left: 0;
16
+ }
11
17
 
12
18
  @media screen and (min-width: $sm-width) {
13
19
  top: 60px;
@@ -95,7 +101,7 @@
95
101
  }
96
102
  }
97
103
 
98
- & > ul {
104
+ ul {
99
105
  display: block;
100
106
  }
101
107
  }
@@ -39,10 +39,6 @@ body.index {
39
39
  position: absolute;
40
40
  z-index: 1;
41
41
  }
42
-
43
- .indexes.table_tools_segmented_control {
44
- text-align: right;
45
- }
46
42
  }
47
43
 
48
44
  .paginated_collection_contents {
@@ -93,17 +89,19 @@ body.index {
93
89
  .scopes {
94
90
  .scope {
95
91
  @include group-button($primary-color);
96
-
97
- a {
98
- margin-right: .25rem;
99
- }
100
92
  }
101
93
  }
102
94
 
103
95
  #sidebar {
104
96
  position: fixed;
97
+ transition: .5s;
98
+ transition-timing-function: ease-in-out;
105
99
  right: - $filter-width;
106
100
 
101
+ &.sidebar_open {
102
+ right: 0;
103
+ }
104
+
107
105
  @media screen and (min-width: $x-lg-width) {
108
106
  right: - $lg-filter-width;
109
107
  }
@@ -1,3 +1,3 @@
1
1
  module ArcticAdmin
2
- VERSION = "3.3.0"
2
+ VERSION = "4.0.0.alpha"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arctic_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 4.0.0.alpha
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clément Prod'homme
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-07 00:00:00.000000000 Z
11
+ date: 2020-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,20 +58,6 @@ dependencies:
58
58
  - - "<"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '3.0'
61
- - !ruby/object:Gem::Dependency
62
- name: jquery-rails
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :runtime
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
61
  - !ruby/object:Gem::Dependency
76
62
  name: font-awesome-sass
77
63
  requirement: !ruby/object:Gem::Requirement
@@ -168,9 +154,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
154
  version: '0'
169
155
  required_rubygems_version: !ruby/object:Gem::Requirement
170
156
  requirements:
171
- - - ">="
157
+ - - ">"
172
158
  - !ruby/object:Gem::Version
173
- version: '0'
159
+ version: 1.3.1
174
160
  requirements: []
175
161
  rubygems_version: 3.0.3
176
162
  signing_key: