alchemy_cms 6.0.0.pre.rc3 → 6.0.0.pre.rc4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/alchemy_cms.gemspec +1 -1
- data/app/assets/javascripts/alchemy/admin.js +0 -1
- data/app/assets/javascripts/alchemy/alchemy.gui.js.coffee +2 -2
- data/app/assets/stylesheets/alchemy/_extends.scss +4 -4
- data/app/assets/stylesheets/alchemy/flatpickr.scss +182 -232
- data/app/controllers/alchemy/admin/base_controller.rb +9 -3
- data/lib/alchemy/engine.rb +7 -0
- data/lib/alchemy/error_tracking/airbrake_handler.rb +13 -0
- data/lib/alchemy/error_tracking.rb +14 -0
- data/lib/alchemy/version.rb +1 -1
- data/lib/alchemy_cms.rb +1 -0
- data/package/admin.js +3 -1
- data/package/src/datepicker.js +39 -0
- data/package.json +2 -1
- metadata +9 -7
- data/app/assets/javascripts/alchemy/alchemy.datepicker.js.coffee +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da8076b5e01533899e6c3003841940160335389c6e8a961bedec1b08839f61ba
|
4
|
+
data.tar.gz: dfcd49629458243d86cb4bb49615da876b3e5bfb1b69de121f90fe6e98bb964c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a25f6e26595f7b7e218200a0a7dbc1e69ac175c1daa3736b443501f80c8f1012215c69ab2f17addeb61b397cb3288b018b87f8e175d1ec9c1399e38101018d7f
|
7
|
+
data.tar.gz: 1c8cee2a1c08c70581945e25dc0745ba9bf2dea83e44220e00a096fce531df941bea97405836dcc4cf650ede4e12162e7ab6b9dc18a8e297f4ac6f71a18643d6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 6.0.0-rc4 (2022-01-16)
|
2
|
+
|
3
|
+
### Changes
|
4
|
+
|
5
|
+
- Allow ransack 2.5.0 [#2223](https://github.com/AlchemyCMS/alchemy_cms/pull/2223) ([depfu](https://github.com/apps/depfu))
|
6
|
+
- make the admin error tracker customizable [#2220](https://github.com/AlchemyCMS/alchemy_cms/pull/2220) ([DarkSwoop](https://github.com/DarkSwoop))
|
7
|
+
- Update Flatpickr to 4.6.9 [#2197](https://github.com/AlchemyCMS/alchemy_cms/pull/2197) ([tvdeyen](https://github.com/tvdeyen))
|
8
|
+
|
1
9
|
## 6.0.0-rc3 (2021-11-24)
|
2
10
|
|
3
11
|
### Changes
|
data/alchemy_cms.gemspec
CHANGED
@@ -46,7 +46,7 @@ Gem::Specification.new do |gem|
|
|
46
46
|
gem.add_runtime_dependency "kaminari", ["~> 1.1"]
|
47
47
|
gem.add_runtime_dependency "originator", ["~> 3.1"]
|
48
48
|
gem.add_runtime_dependency "non-stupid-digest-assets", ["~> 1.0.8"]
|
49
|
-
gem.add_runtime_dependency "ransack", [">= 1.8", "
|
49
|
+
gem.add_runtime_dependency "ransack", [">= 1.8", "<= 2.5.0"] # 2.4.2 dropped Ruby 2.5 support in a patch level release
|
50
50
|
gem.add_runtime_dependency "request_store", ["~> 1.2"]
|
51
51
|
gem.add_runtime_dependency "responders", [">= 2.0", "< 4.0"]
|
52
52
|
gem.add_runtime_dependency "sassc-rails", ["~> 2.1"]
|
@@ -22,7 +22,6 @@
|
|
22
22
|
//= require alchemy/alchemy.dialog
|
23
23
|
//= require alchemy/alchemy.char_counter
|
24
24
|
//= require alchemy/alchemy.confirm_dialog
|
25
|
-
//= require alchemy/alchemy.datepicker
|
26
25
|
//= require alchemy/alchemy.dirty
|
27
26
|
//= require alchemy/alchemy.dragndrop
|
28
27
|
//= require alchemy/alchemy.element_editors
|
@@ -6,7 +6,7 @@ Alchemy.GUI =
|
|
6
6
|
# Initializes all Alchemy GUI elements in given scope
|
7
7
|
init: (scope) ->
|
8
8
|
Alchemy.SelectBox(scope)
|
9
|
-
Alchemy.Datepicker(scope)
|
9
|
+
Alchemy.Datepicker(scope && scope.selector)
|
10
10
|
Alchemy.Tooltips(scope)
|
11
11
|
Alchemy.Buttons.observe(scope)
|
12
12
|
# Dialog links use event delegation and therefore do not
|
@@ -21,7 +21,7 @@ Alchemy.GUI =
|
|
21
21
|
|
22
22
|
initElement: ($el) ->
|
23
23
|
Alchemy.ElementDirtyObserver($el)
|
24
|
-
Alchemy.GUI.init($el)
|
24
|
+
Alchemy.GUI.init($el && $el.selector)
|
25
25
|
Alchemy.ImageLoader($el[0])
|
26
26
|
Alchemy.fileEditors($el.find(".essence_file, .essence_video, .essence_audio, .ingredient-editor.file, .ingredient-editor.audio, .ingredient-editor.video").selector)
|
27
27
|
Alchemy.pictureEditors($el.find(".essence_picture, .ingredient-editor.picture").selector)
|
@@ -37,8 +37,8 @@
|
|
37
37
|
|
38
38
|
&[disabled],
|
39
39
|
&.disabled,
|
40
|
-
|
41
|
-
|
40
|
+
&:not(.flatpickr-input)[readonly],
|
41
|
+
&:not(.flatpickr-input).readonly {
|
42
42
|
color: $form-field-disabled-text-color;
|
43
43
|
background-color: $form-field-disabled-bg-color;
|
44
44
|
cursor: default;
|
@@ -49,8 +49,8 @@
|
|
49
49
|
cursor: not-allowed;
|
50
50
|
}
|
51
51
|
|
52
|
-
|
53
|
-
|
52
|
+
&:not(.flatpickr-input)[readonly],
|
53
|
+
&:not(.flatpickr-input).readonly {
|
54
54
|
pointer-events: none;
|
55
55
|
}
|
56
56
|
}
|
@@ -19,148 +19,137 @@
|
|
19
19
|
-ms-touch-action: manipulation;
|
20
20
|
touch-action: manipulation;
|
21
21
|
background: $white;
|
22
|
-
-webkit-box-shadow: 1px 0 0 $medium-gray, -1px 0 0 $medium-gray,
|
23
|
-
|
22
|
+
-webkit-box-shadow: 1px 0 0 $medium-gray, -1px 0 0 $medium-gray,
|
23
|
+
0 1px 0 $medium-gray, 0 -1px 0 $medium-gray, 0 3px 13px rgba(0, 0, 0, 0.08);
|
24
|
+
box-shadow: 1px 0 0 $medium-gray, -1px 0 0 $medium-gray, 0 1px 0 $medium-gray,
|
25
|
+
0 -1px 0 $medium-gray, 0 3px 13px rgba(0, 0, 0, 0.08);
|
24
26
|
}
|
25
|
-
|
26
27
|
.flatpickr-calendar.open,
|
27
28
|
.flatpickr-calendar.inline {
|
28
29
|
opacity: 1;
|
29
30
|
max-height: 640px;
|
30
|
-
visibility: visible
|
31
|
+
visibility: visible;
|
31
32
|
}
|
32
|
-
|
33
33
|
.flatpickr-calendar.open {
|
34
34
|
display: inline-block;
|
35
|
-
z-index: 99999
|
35
|
+
z-index: 99999;
|
36
36
|
}
|
37
|
-
|
38
37
|
.flatpickr-calendar.animate.open {
|
39
|
-
-webkit-animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1);
|
40
|
-
animation: fpFadeInDown 300ms cubic-bezier(.23, 1, .32, 1)
|
38
|
+
-webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
|
39
|
+
animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
|
41
40
|
}
|
42
|
-
|
43
41
|
.flatpickr-calendar.inline {
|
44
42
|
display: block;
|
45
43
|
position: relative;
|
46
|
-
top: 2px
|
44
|
+
top: 2px;
|
47
45
|
}
|
48
|
-
|
49
46
|
.flatpickr-calendar.static {
|
50
47
|
position: absolute;
|
51
48
|
top: calc(100% + 2px);
|
52
49
|
}
|
53
|
-
|
54
50
|
.flatpickr-calendar.static.open {
|
55
51
|
z-index: 999;
|
56
|
-
display: block
|
52
|
+
display: block;
|
57
53
|
}
|
58
|
-
|
59
|
-
.flatpickr-
|
54
|
+
.flatpickr-calendar.multiMonth
|
55
|
+
.flatpickr-days
|
56
|
+
.dayContainer:nth-child(n + 1)
|
57
|
+
.flatpickr-day.inRange:nth-child(7n + 7) {
|
60
58
|
-webkit-box-shadow: none !important;
|
61
|
-
box-shadow: none !important
|
59
|
+
box-shadow: none !important;
|
62
60
|
}
|
63
|
-
|
64
|
-
.flatpickr-
|
61
|
+
.flatpickr-calendar.multiMonth
|
62
|
+
.flatpickr-days
|
63
|
+
.dayContainer:nth-child(n + 2)
|
64
|
+
.flatpickr-day.inRange:nth-child(7n + 1) {
|
65
65
|
-webkit-box-shadow: -2px 0 0 $medium-gray, 5px 0 0 $medium-gray;
|
66
|
-
box-shadow: -2px 0 0 $medium-gray, 5px 0 0 $medium-gray
|
66
|
+
box-shadow: -2px 0 0 $medium-gray, 5px 0 0 $medium-gray;
|
67
67
|
}
|
68
|
-
|
69
68
|
.flatpickr-calendar .hasWeeks .dayContainer,
|
70
69
|
.flatpickr-calendar .hasTime .dayContainer {
|
71
70
|
border-bottom: 0;
|
72
71
|
border-bottom-right-radius: 0;
|
73
|
-
border-bottom-left-radius: 0
|
72
|
+
border-bottom-left-radius: 0;
|
74
73
|
}
|
75
|
-
|
76
74
|
.flatpickr-calendar .hasWeeks .dayContainer {
|
77
|
-
border-left: 0
|
75
|
+
border-left: 0;
|
78
76
|
}
|
79
|
-
|
80
|
-
.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time {
|
77
|
+
.flatpickr-calendar.hasTime .flatpickr-time {
|
81
78
|
height: 40px;
|
82
|
-
border-top: 1px solid $medium-gray
|
79
|
+
border-top: 1px solid $medium-gray;
|
83
80
|
}
|
84
|
-
|
85
81
|
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
|
86
|
-
height: auto
|
82
|
+
height: auto;
|
87
83
|
}
|
88
|
-
|
89
84
|
.flatpickr-calendar:before,
|
90
85
|
.flatpickr-calendar:after {
|
91
86
|
position: absolute;
|
92
87
|
display: block;
|
93
88
|
pointer-events: none;
|
94
89
|
border: solid transparent;
|
95
|
-
content:
|
90
|
+
content: "";
|
96
91
|
height: 0;
|
97
92
|
width: 0;
|
98
|
-
left: 22px
|
93
|
+
left: 22px;
|
99
94
|
}
|
100
|
-
|
101
95
|
.flatpickr-calendar.rightMost:before,
|
102
|
-
.flatpickr-calendar.
|
96
|
+
.flatpickr-calendar.arrowRight:before,
|
97
|
+
.flatpickr-calendar.rightMost:after,
|
98
|
+
.flatpickr-calendar.arrowRight:after {
|
103
99
|
left: auto;
|
104
|
-
right: 22px
|
100
|
+
right: 22px;
|
101
|
+
}
|
102
|
+
.flatpickr-calendar.arrowCenter:before,
|
103
|
+
.flatpickr-calendar.arrowCenter:after {
|
104
|
+
left: 50%;
|
105
|
+
right: 50%;
|
105
106
|
}
|
106
|
-
|
107
107
|
.flatpickr-calendar:before {
|
108
108
|
border-width: 5px;
|
109
|
-
margin: 0 -5px
|
109
|
+
margin: 0 -5px;
|
110
110
|
}
|
111
|
-
|
112
111
|
.flatpickr-calendar:after {
|
113
112
|
border-width: 4px;
|
114
|
-
margin: 0 -4px
|
113
|
+
margin: 0 -4px;
|
115
114
|
}
|
116
|
-
|
117
115
|
.flatpickr-calendar.arrowTop:before,
|
118
116
|
.flatpickr-calendar.arrowTop:after {
|
119
|
-
bottom: 100
|
117
|
+
bottom: 100%;
|
120
118
|
}
|
121
|
-
|
122
119
|
.flatpickr-calendar.arrowTop:before {
|
123
|
-
border-bottom-color: $medium-gray
|
120
|
+
border-bottom-color: $medium-gray;
|
124
121
|
}
|
125
|
-
|
126
122
|
.flatpickr-calendar.arrowTop:after {
|
127
|
-
border-bottom-color: $white
|
123
|
+
border-bottom-color: $white;
|
128
124
|
}
|
129
|
-
|
130
125
|
.flatpickr-calendar.arrowBottom:before,
|
131
126
|
.flatpickr-calendar.arrowBottom:after {
|
132
|
-
top: 100
|
127
|
+
top: 100%;
|
133
128
|
}
|
134
|
-
|
135
129
|
.flatpickr-calendar.arrowBottom:before {
|
136
|
-
border-top-color: $medium-gray
|
130
|
+
border-top-color: $medium-gray;
|
137
131
|
}
|
138
|
-
|
139
132
|
.flatpickr-calendar.arrowBottom:after {
|
140
|
-
border-top-color: $white
|
133
|
+
border-top-color: $white;
|
141
134
|
}
|
142
|
-
|
143
135
|
.flatpickr-calendar:focus {
|
144
|
-
outline: 0
|
136
|
+
outline: 0;
|
145
137
|
}
|
146
|
-
|
147
138
|
.flatpickr-wrapper {
|
148
139
|
position: relative;
|
149
|
-
display: inline-block
|
140
|
+
display: inline-block;
|
150
141
|
}
|
151
|
-
|
152
142
|
.flatpickr-months {
|
153
143
|
display: -webkit-box;
|
154
144
|
display: -webkit-flex;
|
155
145
|
display: -ms-flexbox;
|
156
146
|
display: flex;
|
157
147
|
}
|
158
|
-
|
159
148
|
.flatpickr-months .flatpickr-month {
|
160
149
|
background: transparent;
|
161
150
|
color: rgba(0, 0, 0, 0.9);
|
162
151
|
fill: rgba(0, 0, 0, 0.9);
|
163
|
-
height:
|
152
|
+
height: 34px;
|
164
153
|
line-height: 1;
|
165
154
|
text-align: center;
|
166
155
|
position: relative;
|
@@ -172,43 +161,35 @@
|
|
172
161
|
-webkit-box-flex: 1;
|
173
162
|
-webkit-flex: 1;
|
174
163
|
-ms-flex: 1;
|
175
|
-
flex: 1
|
164
|
+
flex: 1;
|
176
165
|
}
|
177
|
-
|
178
166
|
.flatpickr-months .flatpickr-prev-month,
|
179
167
|
.flatpickr-months .flatpickr-next-month {
|
180
168
|
text-decoration: none;
|
181
169
|
cursor: pointer;
|
182
170
|
position: absolute;
|
183
171
|
top: 0;
|
184
|
-
|
185
|
-
height: 28px;
|
172
|
+
height: 34px;
|
186
173
|
padding: 10px;
|
187
174
|
z-index: 3;
|
188
175
|
color: rgba(0, 0, 0, 0.9);
|
189
176
|
fill: rgba(0, 0, 0, 0.9);
|
190
177
|
}
|
191
|
-
|
192
|
-
.flatpickr-months .flatpickr-
|
193
|
-
|
194
|
-
display: none
|
178
|
+
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
|
179
|
+
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
|
180
|
+
display: none;
|
195
181
|
}
|
196
|
-
|
197
182
|
.flatpickr-months .flatpickr-prev-month i,
|
198
183
|
.flatpickr-months .flatpickr-next-month i {
|
199
|
-
position: relative
|
184
|
+
position: relative;
|
200
185
|
}
|
201
|
-
|
202
186
|
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
|
203
187
|
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
|
204
188
|
/*
|
205
189
|
/*rtl:begin:ignore*/
|
206
|
-
left: 0;
|
207
|
-
/*
|
190
|
+
left: 0; /*
|
208
191
|
/*rtl:end:ignore*/
|
209
|
-
}
|
210
|
-
|
211
|
-
/*
|
192
|
+
} /*
|
212
193
|
/*rtl:begin:ignore*/
|
213
194
|
/*
|
214
195
|
/*rtl:end:ignore*/
|
@@ -216,12 +197,9 @@
|
|
216
197
|
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
|
217
198
|
/*
|
218
199
|
/*rtl:begin:ignore*/
|
219
|
-
right: 0;
|
220
|
-
/*
|
200
|
+
right: 0; /*
|
221
201
|
/*rtl:end:ignore*/
|
222
|
-
}
|
223
|
-
|
224
|
-
/*
|
202
|
+
} /*
|
225
203
|
/*rtl:begin:ignore*/
|
226
204
|
/*
|
227
205
|
/*rtl:end:ignore*/
|
@@ -229,43 +207,40 @@
|
|
229
207
|
.flatpickr-months .flatpickr-next-month:hover {
|
230
208
|
color: $dark-gray;
|
231
209
|
}
|
232
|
-
|
233
210
|
.flatpickr-months .flatpickr-prev-month:hover svg,
|
234
211
|
.flatpickr-months .flatpickr-next-month:hover svg {
|
235
212
|
fill: $dark-orange;
|
236
213
|
}
|
237
|
-
|
238
214
|
.flatpickr-months .flatpickr-prev-month svg,
|
239
215
|
.flatpickr-months .flatpickr-next-month svg {
|
240
216
|
width: 14px;
|
241
217
|
height: 14px;
|
242
218
|
}
|
243
|
-
|
244
219
|
.flatpickr-months .flatpickr-prev-month svg path,
|
245
220
|
.flatpickr-months .flatpickr-next-month svg path {
|
246
|
-
-webkit-transition: fill .1s;
|
247
|
-
transition: fill .1s;
|
248
|
-
fill: inherit
|
221
|
+
-webkit-transition: fill 0.1s;
|
222
|
+
transition: fill 0.1s;
|
223
|
+
fill: inherit;
|
249
224
|
}
|
250
|
-
|
251
225
|
.numInputWrapper {
|
252
226
|
position: relative;
|
253
227
|
height: auto;
|
254
228
|
}
|
255
|
-
|
256
229
|
.numInputWrapper input,
|
257
230
|
.numInputWrapper span {
|
258
|
-
display: inline-block
|
231
|
+
display: inline-block;
|
259
232
|
}
|
260
|
-
|
261
233
|
.numInputWrapper input {
|
262
234
|
width: 100%;
|
263
235
|
}
|
264
|
-
|
265
236
|
.numInputWrapper input::-ms-clear {
|
266
|
-
display: none
|
237
|
+
display: none;
|
238
|
+
}
|
239
|
+
.numInputWrapper input::-webkit-outer-spin-button,
|
240
|
+
.numInputWrapper input::-webkit-inner-spin-button {
|
241
|
+
margin: 0;
|
242
|
+
-webkit-appearance: none;
|
267
243
|
}
|
268
|
-
|
269
244
|
.numInputWrapper span {
|
270
245
|
position: absolute;
|
271
246
|
right: 0;
|
@@ -275,119 +250,101 @@
|
|
275
250
|
line-height: 50%;
|
276
251
|
opacity: 0;
|
277
252
|
cursor: pointer;
|
278
|
-
border:
|
253
|
+
border: $default-border;
|
279
254
|
-webkit-box-sizing: border-box;
|
280
255
|
box-sizing: border-box;
|
281
256
|
}
|
282
|
-
|
283
257
|
.numInputWrapper span:hover {
|
284
|
-
background: rgba(0, 0, 0, 0.1)
|
258
|
+
background: rgba(0, 0, 0, 0.1);
|
285
259
|
}
|
286
|
-
|
287
260
|
.numInputWrapper span:active {
|
288
|
-
background: rgba(0, 0, 0, 0.2)
|
261
|
+
background: rgba(0, 0, 0, 0.2);
|
289
262
|
}
|
290
|
-
|
291
263
|
.numInputWrapper span:after {
|
292
264
|
display: block;
|
293
265
|
content: "";
|
294
|
-
position: absolute
|
266
|
+
position: absolute;
|
295
267
|
}
|
296
|
-
|
297
268
|
.numInputWrapper span.arrowUp {
|
298
269
|
top: 0;
|
299
270
|
border-bottom: 0;
|
300
271
|
}
|
301
|
-
|
302
272
|
.numInputWrapper span.arrowUp:after {
|
303
273
|
border-left: 4px solid transparent;
|
304
274
|
border-right: 4px solid transparent;
|
305
|
-
border-bottom: 4px solid
|
306
|
-
top: 26
|
275
|
+
border-bottom: 4px solid $default-border-color;
|
276
|
+
top: 26%;
|
307
277
|
}
|
308
|
-
|
309
278
|
.numInputWrapper span.arrowDown {
|
310
279
|
top: 50%;
|
311
280
|
}
|
312
|
-
|
313
281
|
.numInputWrapper span.arrowDown:after {
|
314
282
|
border-left: 4px solid transparent;
|
315
283
|
border-right: 4px solid transparent;
|
316
|
-
border-top: 4px solid
|
317
|
-
top: 40
|
284
|
+
border-top: 4px solid $default-border-color;
|
285
|
+
top: 40%;
|
318
286
|
}
|
319
|
-
|
320
287
|
.numInputWrapper span svg {
|
321
288
|
width: inherit;
|
322
289
|
height: auto;
|
323
290
|
}
|
324
|
-
|
325
291
|
.numInputWrapper span svg path {
|
326
|
-
fill: rgba(0, 0, 0, 0.5)
|
292
|
+
fill: rgba(0, 0, 0, 0.5);
|
327
293
|
}
|
328
|
-
|
329
294
|
.numInputWrapper:hover {
|
330
295
|
background: rgba(0, 0, 0, 0.05);
|
331
296
|
}
|
332
|
-
|
333
297
|
.numInputWrapper:hover span {
|
334
|
-
opacity: 1
|
298
|
+
opacity: 1;
|
335
299
|
}
|
336
|
-
|
337
300
|
.flatpickr-current-month {
|
338
|
-
font-size:
|
301
|
+
font-size: 135%;
|
339
302
|
line-height: inherit;
|
340
303
|
font-weight: 300;
|
341
304
|
color: inherit;
|
342
305
|
position: absolute;
|
343
306
|
width: 75%;
|
344
307
|
left: 12.5%;
|
345
|
-
padding:
|
308
|
+
padding: 7.48px 0 0 0;
|
346
309
|
line-height: 1;
|
347
|
-
height:
|
310
|
+
height: 34px;
|
348
311
|
display: inline-block;
|
349
312
|
text-align: center;
|
350
313
|
-webkit-transform: translate3d(0, 0, 0);
|
351
314
|
transform: translate3d(0, 0, 0);
|
352
315
|
}
|
353
|
-
|
354
316
|
.flatpickr-current-month span.cur-month {
|
355
317
|
font-family: inherit;
|
356
318
|
font-weight: 700;
|
357
319
|
color: inherit;
|
358
320
|
display: inline-block;
|
359
|
-
margin-left: .5ch;
|
321
|
+
margin-left: 0.5ch;
|
360
322
|
padding: 0;
|
361
323
|
}
|
362
|
-
|
363
324
|
.flatpickr-current-month span.cur-month:hover {
|
364
|
-
background: rgba(0, 0, 0, 0.05)
|
325
|
+
background: rgba(0, 0, 0, 0.05);
|
365
326
|
}
|
366
|
-
|
367
327
|
.flatpickr-current-month .numInputWrapper {
|
368
328
|
width: 6ch;
|
369
329
|
width: 7ch\0;
|
370
330
|
display: inline-block;
|
371
331
|
}
|
372
|
-
|
373
332
|
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
|
374
|
-
border-bottom-color: rgba(0, 0, 0, 0.9)
|
333
|
+
border-bottom-color: rgba(0, 0, 0, 0.9);
|
375
334
|
}
|
376
|
-
|
377
335
|
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
|
378
|
-
border-top-color: rgba(0, 0, 0, 0.9)
|
336
|
+
border-top-color: rgba(0, 0, 0, 0.9);
|
379
337
|
}
|
380
|
-
|
381
338
|
.flatpickr-current-month input.cur-year {
|
382
339
|
background: transparent;
|
383
340
|
-webkit-box-sizing: border-box;
|
384
341
|
box-sizing: border-box;
|
385
342
|
color: inherit;
|
386
343
|
cursor: text;
|
387
|
-
padding: 0 0 0 .5ch;
|
344
|
+
padding: 0 0 0 0.5ch;
|
388
345
|
margin: 0;
|
389
346
|
display: inline-block;
|
390
|
-
font-size:
|
347
|
+
font-size: inherit;
|
391
348
|
font-family: inherit;
|
392
349
|
font-weight: 300;
|
393
350
|
line-height: inherit;
|
@@ -395,19 +352,57 @@
|
|
395
352
|
border: 0;
|
396
353
|
border-radius: 0;
|
397
354
|
vertical-align: initial;
|
355
|
+
-webkit-appearance: textfield;
|
356
|
+
-moz-appearance: textfield;
|
357
|
+
appearance: textfield;
|
398
358
|
}
|
399
|
-
|
400
359
|
.flatpickr-current-month input.cur-year:focus {
|
401
|
-
outline: 0
|
360
|
+
outline: 0;
|
402
361
|
}
|
403
|
-
|
404
362
|
.flatpickr-current-month input.cur-year[disabled],
|
405
363
|
.flatpickr-current-month input.cur-year[disabled]:hover {
|
364
|
+
font-size: 100%;
|
406
365
|
color: rgba(0, 0, 0, 0.5);
|
407
366
|
background: transparent;
|
408
|
-
pointer-events: none
|
367
|
+
pointer-events: none;
|
368
|
+
}
|
369
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months {
|
370
|
+
appearance: menulist;
|
371
|
+
background: transparent;
|
372
|
+
border: none;
|
373
|
+
border-radius: 0;
|
374
|
+
box-sizing: border-box;
|
375
|
+
color: inherit;
|
376
|
+
cursor: pointer;
|
377
|
+
font-size: inherit;
|
378
|
+
font-family: inherit;
|
379
|
+
font-weight: 300;
|
380
|
+
height: auto;
|
381
|
+
line-height: inherit;
|
382
|
+
margin: -1px 0 0 0;
|
383
|
+
outline: none;
|
384
|
+
padding: 0 0 0 0.5ch;
|
385
|
+
position: relative;
|
386
|
+
vertical-align: initial;
|
387
|
+
-webkit-box-sizing: border-box;
|
388
|
+
-webkit-appearance: menulist;
|
389
|
+
-moz-appearance: menulist;
|
390
|
+
width: auto;
|
391
|
+
}
|
392
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
|
393
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
|
394
|
+
outline: none;
|
395
|
+
}
|
396
|
+
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
|
397
|
+
background: rgba(0, 0, 0, 0.05);
|
398
|
+
}
|
399
|
+
.flatpickr-current-month
|
400
|
+
.flatpickr-monthDropdown-months
|
401
|
+
.flatpickr-monthDropdown-month {
|
402
|
+
background-color: transparent;
|
403
|
+
outline: none;
|
404
|
+
padding: 0;
|
409
405
|
}
|
410
|
-
|
411
406
|
.flatpickr-weekdays {
|
412
407
|
background: transparent;
|
413
408
|
text-align: center;
|
@@ -423,7 +418,6 @@
|
|
423
418
|
align-items: center;
|
424
419
|
height: 28px;
|
425
420
|
}
|
426
|
-
|
427
421
|
.flatpickr-weekdays .flatpickr-weekdaycontainer {
|
428
422
|
display: -webkit-box;
|
429
423
|
display: -webkit-flex;
|
@@ -432,11 +426,11 @@
|
|
432
426
|
-webkit-box-flex: 1;
|
433
427
|
-webkit-flex: 1;
|
434
428
|
-ms-flex: 1;
|
435
|
-
flex: 1
|
429
|
+
flex: 1;
|
436
430
|
}
|
437
|
-
|
438
431
|
span.flatpickr-weekday {
|
439
432
|
cursor: default;
|
433
|
+
font-size: 90%;
|
440
434
|
background: transparent;
|
441
435
|
color: rgba(0, 0, 0, 0.54);
|
442
436
|
line-height: 1;
|
@@ -447,14 +441,12 @@ span.flatpickr-weekday {
|
|
447
441
|
-webkit-flex: 1;
|
448
442
|
-ms-flex: 1;
|
449
443
|
flex: 1;
|
450
|
-
font-weight: bolder
|
444
|
+
font-weight: bolder;
|
451
445
|
}
|
452
|
-
|
453
446
|
.dayContainer,
|
454
447
|
.flatpickr-weeks {
|
455
|
-
padding: 1px 0 0 0
|
448
|
+
padding: 1px 0 0 0;
|
456
449
|
}
|
457
|
-
|
458
450
|
.flatpickr-days {
|
459
451
|
position: relative;
|
460
452
|
overflow: hidden;
|
@@ -468,11 +460,9 @@ span.flatpickr-weekday {
|
|
468
460
|
align-items: flex-start;
|
469
461
|
width: 307.875px;
|
470
462
|
}
|
471
|
-
|
472
463
|
.flatpickr-days:focus {
|
473
|
-
outline: 0
|
464
|
+
outline: 0;
|
474
465
|
}
|
475
|
-
|
476
466
|
.dayContainer {
|
477
467
|
padding: 0;
|
478
468
|
outline: 0;
|
@@ -497,16 +487,14 @@ span.flatpickr-weekday {
|
|
497
487
|
transform: translate3d(0, 0, 0);
|
498
488
|
opacity: 1;
|
499
489
|
}
|
500
|
-
|
501
|
-
.dayContainer+.dayContainer {
|
490
|
+
.dayContainer + .dayContainer {
|
502
491
|
-webkit-box-shadow: -1px 0 0 $medium-gray;
|
503
|
-
box-shadow: -1px 0 0 $medium-gray
|
492
|
+
box-shadow: -1px 0 0 $medium-gray;
|
504
493
|
}
|
505
|
-
|
506
494
|
.flatpickr-day {
|
507
495
|
background: none;
|
508
496
|
border: 1px solid transparent;
|
509
|
-
border-radius:
|
497
|
+
border-radius: 150px;
|
510
498
|
-webkit-box-sizing: border-box;
|
511
499
|
box-sizing: border-box;
|
512
500
|
color: #393939;
|
@@ -528,7 +516,6 @@ span.flatpickr-weekday {
|
|
528
516
|
justify-content: center;
|
529
517
|
text-align: center;
|
530
518
|
}
|
531
|
-
|
532
519
|
.flatpickr-day.inRange,
|
533
520
|
.flatpickr-day.prevMonthDay.inRange,
|
534
521
|
.flatpickr-day.nextMonthDay.inRange,
|
@@ -544,20 +531,17 @@ span.flatpickr-weekday {
|
|
544
531
|
cursor: pointer;
|
545
532
|
outline: 0;
|
546
533
|
background: $medium-gray;
|
547
|
-
border-color: $medium-gray
|
534
|
+
border-color: $medium-gray;
|
548
535
|
}
|
549
|
-
|
550
536
|
.flatpickr-day.today {
|
551
537
|
border-color: $dark-gray;
|
552
538
|
}
|
553
|
-
|
554
539
|
.flatpickr-day.today:hover,
|
555
540
|
.flatpickr-day.today:focus {
|
556
541
|
border-color: $dark-gray;
|
557
542
|
background: $dark-gray;
|
558
|
-
color: $white
|
543
|
+
color: $white;
|
559
544
|
}
|
560
|
-
|
561
545
|
.flatpickr-day.selected,
|
562
546
|
.flatpickr-day.startRange,
|
563
547
|
.flatpickr-day.endRange,
|
@@ -580,42 +564,36 @@ span.flatpickr-weekday {
|
|
580
564
|
-webkit-box-shadow: none;
|
581
565
|
box-shadow: none;
|
582
566
|
color: $white;
|
583
|
-
border-color: $blue
|
567
|
+
border-color: $blue;
|
584
568
|
}
|
585
|
-
|
586
569
|
.flatpickr-day.selected.startRange,
|
587
570
|
.flatpickr-day.startRange.startRange,
|
588
571
|
.flatpickr-day.endRange.startRange {
|
589
|
-
border-radius: 50px 0 0 50px
|
572
|
+
border-radius: 50px 0 0 50px;
|
590
573
|
}
|
591
|
-
|
592
574
|
.flatpickr-day.selected.endRange,
|
593
575
|
.flatpickr-day.startRange.endRange,
|
594
576
|
.flatpickr-day.endRange.endRange {
|
595
|
-
border-radius: 0 50px 50px 0
|
577
|
+
border-radius: 0 50px 50px 0;
|
596
578
|
}
|
597
|
-
|
598
|
-
.flatpickr-day.
|
599
|
-
.flatpickr-day.startRange.
|
600
|
-
.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)) {
|
579
|
+
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n + 1)),
|
580
|
+
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n + 1)),
|
581
|
+
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n + 1)) {
|
601
582
|
-webkit-box-shadow: -10px 0 0 $blue;
|
602
|
-
box-shadow: -10px 0 0 $blue
|
583
|
+
box-shadow: -10px 0 0 $blue;
|
603
584
|
}
|
604
|
-
|
605
585
|
.flatpickr-day.selected.startRange.endRange,
|
606
586
|
.flatpickr-day.startRange.startRange.endRange,
|
607
587
|
.flatpickr-day.endRange.startRange.endRange {
|
608
|
-
border-radius: 50px
|
588
|
+
border-radius: 50px;
|
609
589
|
}
|
610
|
-
|
611
590
|
.flatpickr-day.inRange {
|
612
591
|
border-radius: 0;
|
613
592
|
-webkit-box-shadow: -5px 0 0 $medium-gray, 5px 0 0 $medium-gray;
|
614
|
-
box-shadow: -5px 0 0 $medium-gray, 5px 0 0 $medium-gray
|
593
|
+
box-shadow: -5px 0 0 $medium-gray, 5px 0 0 $medium-gray;
|
615
594
|
}
|
616
|
-
|
617
|
-
.flatpickr-day.disabled,
|
618
|
-
.flatpickr-day.disabled:hover,
|
595
|
+
.flatpickr-day.flatpickr-disabled,
|
596
|
+
.flatpickr-day.flatpickr-disabled:hover,
|
619
597
|
.flatpickr-day.prevMonthDay,
|
620
598
|
.flatpickr-day.nextMonthDay,
|
621
599
|
.flatpickr-day.notAllowed,
|
@@ -624,46 +602,37 @@ span.flatpickr-weekday {
|
|
624
602
|
color: rgba(57, 57, 57, 0.3);
|
625
603
|
background: transparent;
|
626
604
|
border-color: transparent;
|
627
|
-
cursor: default
|
605
|
+
cursor: default;
|
628
606
|
}
|
629
|
-
|
630
|
-
.flatpickr-day.disabled
|
631
|
-
.flatpickr-day.disabled:hover {
|
607
|
+
.flatpickr-day.flatpickr-disabled,
|
608
|
+
.flatpickr-day.flatpickr-disabled:hover {
|
632
609
|
cursor: not-allowed;
|
633
|
-
color: rgba(57, 57, 57, 0.1)
|
610
|
+
color: rgba(57, 57, 57, 0.1);
|
634
611
|
}
|
635
|
-
|
636
612
|
.flatpickr-day.week.selected {
|
637
613
|
border-radius: 0;
|
638
614
|
-webkit-box-shadow: -5px 0 0 $blue, 5px 0 0 $blue;
|
639
|
-
box-shadow: -5px 0 0 $blue, 5px 0 0 $blue
|
615
|
+
box-shadow: -5px 0 0 $blue, 5px 0 0 $blue;
|
640
616
|
}
|
641
|
-
|
642
617
|
.flatpickr-day.hidden {
|
643
|
-
visibility: hidden
|
618
|
+
visibility: hidden;
|
644
619
|
}
|
645
|
-
|
646
620
|
.rangeMode .flatpickr-day {
|
647
|
-
margin-top: 1px
|
621
|
+
margin-top: 1px;
|
648
622
|
}
|
649
|
-
|
650
623
|
.flatpickr-weekwrapper {
|
651
|
-
display: inline-block;
|
652
624
|
float: left;
|
653
625
|
}
|
654
|
-
|
655
626
|
.flatpickr-weekwrapper .flatpickr-weeks {
|
656
627
|
padding: 0 12px;
|
657
628
|
-webkit-box-shadow: 1px 0 0 $medium-gray;
|
658
|
-
box-shadow: 1px 0 0 $medium-gray
|
629
|
+
box-shadow: 1px 0 0 $medium-gray;
|
659
630
|
}
|
660
|
-
|
661
631
|
.flatpickr-weekwrapper .flatpickr-weekday {
|
662
632
|
float: none;
|
663
633
|
width: 100%;
|
664
|
-
line-height: 28px
|
634
|
+
line-height: 28px;
|
665
635
|
}
|
666
|
-
|
667
636
|
.flatpickr-weekwrapper span.flatpickr-day,
|
668
637
|
.flatpickr-weekwrapper span.flatpickr-day:hover {
|
669
638
|
display: block;
|
@@ -672,9 +641,8 @@ span.flatpickr-weekday {
|
|
672
641
|
color: rgba(57, 57, 57, 0.3);
|
673
642
|
background: transparent;
|
674
643
|
cursor: default;
|
675
|
-
border: none
|
644
|
+
border: none;
|
676
645
|
}
|
677
|
-
|
678
646
|
.flatpickr-innerContainer {
|
679
647
|
display: block;
|
680
648
|
display: -webkit-box;
|
@@ -685,14 +653,12 @@ span.flatpickr-weekday {
|
|
685
653
|
box-sizing: border-box;
|
686
654
|
overflow: hidden;
|
687
655
|
}
|
688
|
-
|
689
656
|
.flatpickr-rContainer {
|
690
657
|
display: inline-block;
|
691
658
|
padding: 0;
|
692
659
|
-webkit-box-sizing: border-box;
|
693
|
-
box-sizing: border-box
|
660
|
+
box-sizing: border-box;
|
694
661
|
}
|
695
|
-
|
696
662
|
.flatpickr-time {
|
697
663
|
text-align: center;
|
698
664
|
outline: 0;
|
@@ -708,13 +674,11 @@ span.flatpickr-weekday {
|
|
708
674
|
display: -ms-flexbox;
|
709
675
|
display: flex;
|
710
676
|
}
|
711
|
-
|
712
677
|
.flatpickr-time:after {
|
713
678
|
content: "";
|
714
679
|
display: table;
|
715
|
-
clear: both
|
680
|
+
clear: both;
|
716
681
|
}
|
717
|
-
|
718
682
|
.flatpickr-time .numInputWrapper {
|
719
683
|
-webkit-box-flex: 1;
|
720
684
|
-webkit-flex: 1;
|
@@ -724,23 +688,18 @@ span.flatpickr-weekday {
|
|
724
688
|
height: 40px;
|
725
689
|
float: left;
|
726
690
|
}
|
727
|
-
|
728
691
|
.flatpickr-time .numInputWrapper span.arrowUp:after {
|
729
|
-
border-bottom-color: #393939
|
692
|
+
border-bottom-color: #393939;
|
730
693
|
}
|
731
|
-
|
732
694
|
.flatpickr-time .numInputWrapper span.arrowDown:after {
|
733
|
-
border-top-color: #393939
|
695
|
+
border-top-color: #393939;
|
734
696
|
}
|
735
|
-
|
736
697
|
.flatpickr-time.hasSeconds .numInputWrapper {
|
737
|
-
width: 26
|
698
|
+
width: 26%;
|
738
699
|
}
|
739
|
-
|
740
700
|
.flatpickr-time.time24hr .numInputWrapper {
|
741
|
-
width: 49
|
701
|
+
width: 49%;
|
742
702
|
}
|
743
|
-
|
744
703
|
.flatpickr-time input {
|
745
704
|
background: transparent;
|
746
705
|
-webkit-box-shadow: none;
|
@@ -752,31 +711,29 @@ span.flatpickr-weekday {
|
|
752
711
|
padding: 0;
|
753
712
|
height: inherit;
|
754
713
|
line-height: inherit;
|
755
|
-
color:
|
756
|
-
font-size:
|
714
|
+
color: $form-field-text-color;
|
715
|
+
font-size: 14px;
|
757
716
|
position: relative;
|
758
717
|
-webkit-box-sizing: border-box;
|
759
718
|
box-sizing: border-box;
|
719
|
+
-webkit-appearance: textfield;
|
720
|
+
-moz-appearance: textfield;
|
721
|
+
appearance: textfield;
|
760
722
|
}
|
761
|
-
|
762
723
|
.flatpickr-time input.flatpickr-hour {
|
763
|
-
font-weight: bold
|
724
|
+
font-weight: bold;
|
764
725
|
}
|
765
|
-
|
766
726
|
.flatpickr-time input.flatpickr-minute,
|
767
727
|
.flatpickr-time input.flatpickr-second {
|
768
|
-
font-weight: 400
|
728
|
+
font-weight: 400;
|
769
729
|
}
|
770
|
-
|
771
730
|
.flatpickr-time input:focus {
|
772
731
|
outline: 0;
|
773
|
-
border: 0
|
732
|
+
border: 0;
|
774
733
|
}
|
775
|
-
|
776
734
|
.flatpickr-time .flatpickr-time-separator,
|
777
735
|
.flatpickr-time .flatpickr-am-pm {
|
778
736
|
height: inherit;
|
779
|
-
display: inline-block;
|
780
737
|
float: left;
|
781
738
|
line-height: inherit;
|
782
739
|
color: #393939;
|
@@ -788,52 +745,45 @@ span.flatpickr-weekday {
|
|
788
745
|
user-select: none;
|
789
746
|
-webkit-align-self: center;
|
790
747
|
-ms-flex-item-align: center;
|
791
|
-
align-self: center
|
748
|
+
align-self: center;
|
792
749
|
}
|
793
|
-
|
794
750
|
.flatpickr-time .flatpickr-am-pm {
|
795
751
|
outline: 0;
|
796
752
|
width: 18%;
|
797
753
|
cursor: pointer;
|
798
754
|
text-align: center;
|
799
|
-
font-weight: 400
|
755
|
+
font-weight: 400;
|
800
756
|
}
|
801
|
-
|
802
757
|
.flatpickr-time input:hover,
|
803
758
|
.flatpickr-time .flatpickr-am-pm:hover,
|
804
759
|
.flatpickr-time input:focus,
|
805
760
|
.flatpickr-time .flatpickr-am-pm:focus {
|
806
|
-
background: $light-gray
|
761
|
+
background: $light-gray;
|
807
762
|
}
|
808
|
-
|
809
763
|
.flatpickr-input[readonly] {
|
810
|
-
cursor: pointer
|
764
|
+
cursor: pointer;
|
811
765
|
}
|
812
|
-
|
813
766
|
@-webkit-keyframes fpFadeInDown {
|
814
767
|
from {
|
815
768
|
opacity: 0;
|
816
769
|
-webkit-transform: translate3d(0, -20px, 0);
|
817
|
-
transform: translate3d(0, -20px, 0)
|
770
|
+
transform: translate3d(0, -20px, 0);
|
818
771
|
}
|
819
|
-
|
820
772
|
to {
|
821
773
|
opacity: 1;
|
822
774
|
-webkit-transform: translate3d(0, 0, 0);
|
823
|
-
transform: translate3d(0, 0, 0)
|
775
|
+
transform: translate3d(0, 0, 0);
|
824
776
|
}
|
825
777
|
}
|
826
|
-
|
827
778
|
@keyframes fpFadeInDown {
|
828
779
|
from {
|
829
780
|
opacity: 0;
|
830
781
|
-webkit-transform: translate3d(0, -20px, 0);
|
831
|
-
transform: translate3d(0, -20px, 0)
|
782
|
+
transform: translate3d(0, -20px, 0);
|
832
783
|
}
|
833
|
-
|
834
784
|
to {
|
835
785
|
opacity: 1;
|
836
786
|
-webkit-transform: translate3d(0, 0, 0);
|
837
|
-
transform: translate3d(0, 0, 0)
|
787
|
+
transform: translate3d(0, 0, 0);
|
838
788
|
}
|
839
789
|
}
|
@@ -40,9 +40,7 @@ module Alchemy
|
|
40
40
|
def exception_handler(error)
|
41
41
|
exception_logger(error)
|
42
42
|
show_error_notice(error)
|
43
|
-
|
44
|
-
notify_airbrake(error) unless Rails.env.development? || Rails.env.test?
|
45
|
-
end
|
43
|
+
notify_error_tracker(error)
|
46
44
|
end
|
47
45
|
|
48
46
|
# Displays an error notice in the Alchemy backend.
|
@@ -146,6 +144,14 @@ module Alchemy
|
|
146
144
|
site
|
147
145
|
end
|
148
146
|
end
|
147
|
+
|
148
|
+
def notify_error_tracker(exception)
|
149
|
+
if ::Alchemy::ErrorTracking.notification_handler.respond_to?(:call)
|
150
|
+
::Alchemy::ErrorTracking.notification_handler.call(exception)
|
151
|
+
else
|
152
|
+
Rails.logger.warn("To use the Alchemy::ErrorTracking.notification_handler, it must respond to #call.")
|
153
|
+
end
|
154
|
+
end
|
149
155
|
end
|
150
156
|
end
|
151
157
|
end
|
data/lib/alchemy/engine.rb
CHANGED
@@ -44,5 +44,12 @@ module Alchemy
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
47
|
+
|
48
|
+
initializer "alchemy.error_tracking" do
|
49
|
+
if defined?(Airbrake)
|
50
|
+
require_relative "error_tracking/airbrake_handler"
|
51
|
+
Alchemy::ErrorTracking.notification_handler = Alchemy::ErrorTracking::AirbrakeHandler
|
52
|
+
end
|
53
|
+
end
|
47
54
|
end
|
48
55
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Alchemy
|
4
|
+
module ErrorTracking
|
5
|
+
class BaseHandler
|
6
|
+
def self.call(exception)
|
7
|
+
# implement your own notification method
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
mattr_accessor :notification_handler
|
12
|
+
@@notification_handler = BaseHandler
|
13
|
+
end
|
14
|
+
end
|
data/lib/alchemy/version.rb
CHANGED
data/lib/alchemy_cms.rb
CHANGED
@@ -37,6 +37,7 @@ require_relative "alchemy/controller_actions"
|
|
37
37
|
require_relative "alchemy/deprecation"
|
38
38
|
require_relative "alchemy/element_definition"
|
39
39
|
require_relative "alchemy/elements_finder"
|
40
|
+
require_relative "alchemy/error_tracking"
|
40
41
|
require_relative "alchemy/errors"
|
41
42
|
require_relative "alchemy/essence"
|
42
43
|
require_relative "alchemy/filetypes"
|
data/package/admin.js
CHANGED
@@ -5,6 +5,7 @@ import fileEditors from "./src/file_editors"
|
|
5
5
|
import pictureEditors from "./src/picture_editors"
|
6
6
|
import ImageLoader from "./src/image_loader"
|
7
7
|
import ImageCropper from "./src/image_cropper"
|
8
|
+
import Datepicker from "./src/datepicker"
|
8
9
|
|
9
10
|
// Global Alchemy object
|
10
11
|
if (typeof window.Alchemy === "undefined") {
|
@@ -20,5 +21,6 @@ Object.assign(Alchemy, {
|
|
20
21
|
fileEditors,
|
21
22
|
pictureEditors,
|
22
23
|
ImageLoader: ImageLoader.init,
|
23
|
-
ImageCropper
|
24
|
+
ImageCropper,
|
25
|
+
Datepicker
|
24
26
|
})
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import flatpickr from "flatpickr"
|
2
|
+
|
3
|
+
export default function Datepicker(scope = document) {
|
4
|
+
if (scope === "") {
|
5
|
+
scope = document
|
6
|
+
} else if (scope instanceof String) {
|
7
|
+
scope = document.querySelectorAll(scope)
|
8
|
+
}
|
9
|
+
|
10
|
+
const datepickerInputs = scope.querySelectorAll("input[data-datepicker-type]")
|
11
|
+
|
12
|
+
// Initializes the datepickers on the text inputs and sets the proper type
|
13
|
+
// to enable browsers default datepicker if the current OS is iOS.
|
14
|
+
if (Alchemy.isiOS) {
|
15
|
+
datepickerInputs.forEach((input) => {
|
16
|
+
input.attributes.type = input.dataset.datepickerType
|
17
|
+
})
|
18
|
+
} else {
|
19
|
+
datepickerInputs.forEach((input) => {
|
20
|
+
const type = input.dataset.datepickerType
|
21
|
+
const options = {
|
22
|
+
// alchemy_i18n supports `zh_CN` etc., but flatpickr only has two-letter codes (`zh`)
|
23
|
+
locale: Alchemy.locale.slice(0, 2),
|
24
|
+
altInput: true,
|
25
|
+
altFormat: Alchemy.t(`formats.${type}`),
|
26
|
+
altInputClass: "flatpickr-input",
|
27
|
+
enableTime: /time/.test(type),
|
28
|
+
noCalendar: type === "time",
|
29
|
+
time_24hr: Alchemy.t("formats.time_24hr"),
|
30
|
+
onValueUpdate(_selectedDates, _dateStr, instance) {
|
31
|
+
return Alchemy.setElementDirty(
|
32
|
+
instance.element.closest(".element-editor")
|
33
|
+
)
|
34
|
+
}
|
35
|
+
}
|
36
|
+
flatpickr(input, options)
|
37
|
+
})
|
38
|
+
}
|
39
|
+
}
|
data/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@alchemy_cms/admin",
|
3
|
-
"version": "6.0.0-
|
3
|
+
"version": "6.0.0-rc4",
|
4
4
|
"description": "AlchemyCMS",
|
5
5
|
"browser": "package/admin.js",
|
6
6
|
"files": [
|
@@ -24,6 +24,7 @@
|
|
24
24
|
},
|
25
25
|
"homepage": "https://github.com/AlchemyCMS/alchemy_cms#readme",
|
26
26
|
"dependencies": {
|
27
|
+
"flatpickr": "^4.6.9",
|
27
28
|
"lodash-es": "^4.17.21",
|
28
29
|
"sortablejs": "^1.10.2"
|
29
30
|
},
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alchemy_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.0.pre.
|
4
|
+
version: 6.0.0.pre.rc4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas von Deyen
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date:
|
16
|
+
date: 2022-01-16 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: actionmailer
|
@@ -408,9 +408,9 @@ dependencies:
|
|
408
408
|
- - ">="
|
409
409
|
- !ruby/object:Gem::Version
|
410
410
|
version: '1.8'
|
411
|
-
- - "
|
411
|
+
- - "<="
|
412
412
|
- !ruby/object:Gem::Version
|
413
|
-
version: 2.
|
413
|
+
version: 2.5.0
|
414
414
|
type: :runtime
|
415
415
|
prerelease: false
|
416
416
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -418,9 +418,9 @@ dependencies:
|
|
418
418
|
- - ">="
|
419
419
|
- !ruby/object:Gem::Version
|
420
420
|
version: '1.8'
|
421
|
-
- - "
|
421
|
+
- - "<="
|
422
422
|
- !ruby/object:Gem::Version
|
423
|
-
version: 2.
|
423
|
+
version: 2.5.0
|
424
424
|
- !ruby/object:Gem::Dependency
|
425
425
|
name: request_store
|
426
426
|
requirement: !ruby/object:Gem::Requirement
|
@@ -757,7 +757,6 @@ files:
|
|
757
757
|
- app/assets/javascripts/alchemy/alchemy.buttons.js.coffee
|
758
758
|
- app/assets/javascripts/alchemy/alchemy.char_counter.js.coffee
|
759
759
|
- app/assets/javascripts/alchemy/alchemy.confirm_dialog.js.coffee
|
760
|
-
- app/assets/javascripts/alchemy/alchemy.datepicker.js.coffee
|
761
760
|
- app/assets/javascripts/alchemy/alchemy.dialog.js.coffee
|
762
761
|
- app/assets/javascripts/alchemy/alchemy.dirty.js.coffee
|
763
762
|
- app/assets/javascripts/alchemy/alchemy.dragndrop.js.coffee
|
@@ -1308,6 +1307,8 @@ files:
|
|
1308
1307
|
- lib/alchemy/element_definition.rb
|
1309
1308
|
- lib/alchemy/elements_finder.rb
|
1310
1309
|
- lib/alchemy/engine.rb
|
1310
|
+
- lib/alchemy/error_tracking.rb
|
1311
|
+
- lib/alchemy/error_tracking/airbrake_handler.rb
|
1311
1312
|
- lib/alchemy/errors.rb
|
1312
1313
|
- lib/alchemy/essence.rb
|
1313
1314
|
- lib/alchemy/filetypes.rb
|
@@ -1424,6 +1425,7 @@ files:
|
|
1424
1425
|
- package.json
|
1425
1426
|
- package/admin.js
|
1426
1427
|
- package/src/__tests__/i18n.spec.js
|
1428
|
+
- package/src/datepicker.js
|
1427
1429
|
- package/src/file_editors.js
|
1428
1430
|
- package/src/i18n.js
|
1429
1431
|
- package/src/image_cropper.js
|
@@ -1,29 +0,0 @@
|
|
1
|
-
window.Alchemy = {} if typeof(window.Alchemy) is 'undefined'
|
2
|
-
|
3
|
-
$.extend Alchemy,
|
4
|
-
|
5
|
-
Datepicker: (scope) ->
|
6
|
-
$datepicker_inputs = $('input[data-datepicker-type]', scope)
|
7
|
-
|
8
|
-
# Initializes the datepickers on the text inputs and sets the proper type
|
9
|
-
# to enable browsers default datepicker if the current OS is iOS.
|
10
|
-
if Alchemy.isiOS
|
11
|
-
$datepicker_inputs.prop "type", ->
|
12
|
-
return $(this).data('datepicker-type')
|
13
|
-
else
|
14
|
-
$datepicker_inputs.each ->
|
15
|
-
type = $(this).data('datepicker-type')
|
16
|
-
options =
|
17
|
-
# alchemy_i18n supports `zh_CN` etc., but flatpickr only has two-letter codes (`zh`)
|
18
|
-
locale: Alchemy.locale.slice(0, 2)
|
19
|
-
altInput: true
|
20
|
-
altFormat: Alchemy.t("formats.#{type}")
|
21
|
-
altInputClass: ""
|
22
|
-
enableTime: /time/.test(type)
|
23
|
-
noCalendar: type == "time"
|
24
|
-
time_24hr: Alchemy.t("formats.time_24hr")
|
25
|
-
onValueUpdate: (_selectedDates, _dateStr, instance) ->
|
26
|
-
Alchemy.setElementDirty $(instance.element).closest(".element-editor")
|
27
|
-
$(this).flatpickr(options)
|
28
|
-
|
29
|
-
return
|