yummy-guide-generic-administrate 0.4.1 → 0.5.0
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/README.md +38 -0
- data/app/assets/javascripts/yummy_guide_administrate/datetime_input.js +644 -0
- data/app/assets/stylesheets/yummy_guide_administrate/_datetime_input.scss +73 -0
- data/app/assets/stylesheets/yummy_guide_administrate/components.scss +1 -0
- data/app/helpers/yummy_guide/administrate/datetime_input_helper.rb +476 -0
- data/lib/yummy_guide/administrate/engine.rb +1 -0
- data/lib/yummy_guide/administrate/version.rb +1 -1
- data/spec/yummy_guide/administrate/datetime_input_helper_spec.rb +137 -0
- metadata +6 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 82f8a49b6cf64da8e522b0290770f402b7f387ba989d5e38ff0d17232b8a7ff2
|
|
4
|
+
data.tar.gz: '0648859c41c97f9bf5d6a5bef998fca7e8685a2a5b5d617bfbd1830d75d08fa9'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8e7752a04124f92bd2abdbb7d6f5e16284c593ff33166cd9429a202146ea0de5ca35e812c80bf69bb96eb1b1179daec5584ba66fa0c55fd9bc8921c78a072aef
|
|
7
|
+
data.tar.gz: 6d109d78f58cc76f4d125a6027aa28f4d048c0c3233b97b0b5c244edab96757f5c20c078461ca5975b6cf3cc3af5a32030bdd87563de9d38aa11167d31d57060
|
data/README.md
CHANGED
|
@@ -41,11 +41,14 @@ bundle install
|
|
|
41
41
|
- 一覧テーブルの固定列数、リンク生成、action partial 解決を補助する helper
|
|
42
42
|
- `YummyGuide::Administrate::FilterFormHelper`
|
|
43
43
|
- datetime フィルターや checkbox group の組み立てを補助する helper
|
|
44
|
+
- `YummyGuide::Administrate::DatetimeInputHelper`
|
|
45
|
+
- 管理画面フォーム用の date + time 入力 helper
|
|
44
46
|
- 共通 partial / assets
|
|
45
47
|
- collection partial
|
|
46
48
|
- fixed table header partial
|
|
47
49
|
- filter form partial
|
|
48
50
|
- `clipboards.js`
|
|
51
|
+
- `datetime_input.js`
|
|
49
52
|
- `fixed_submit_actions.js`
|
|
50
53
|
- `filter_form.js`
|
|
51
54
|
- `sticky_left_columns.js`
|
|
@@ -97,6 +100,7 @@ class Admin::ApplicationController < Administrate::ApplicationController
|
|
|
97
100
|
include YummyGuide::Administrate::DatetimeFilterParameters
|
|
98
101
|
|
|
99
102
|
helper YummyGuide::Administrate::CollectionHelper
|
|
103
|
+
helper YummyGuide::Administrate::DatetimeInputHelper
|
|
100
104
|
helper YummyGuide::Administrate::FilterFormHelper
|
|
101
105
|
end
|
|
102
106
|
```
|
|
@@ -240,6 +244,39 @@ filter form の枠と datetime 入力 partial を組み合わせて利用でき
|
|
|
240
244
|
<% end %>
|
|
241
245
|
```
|
|
242
246
|
|
|
247
|
+
### Datetime input helper
|
|
248
|
+
|
|
249
|
+
通常フォームで日付と時刻を分けた入力 UI を使う場合は、`DatetimeInputHelper`
|
|
250
|
+
を読み込んで `admin_datetime_*` helper を使います。既存の LMJ 互換として、
|
|
251
|
+
helper 名は `admin_` prefix のまま提供しています。
|
|
252
|
+
|
|
253
|
+
```erb
|
|
254
|
+
<%= admin_datetime_field_tag(
|
|
255
|
+
"coupon[expiration_date]",
|
|
256
|
+
@coupon.expiration_date,
|
|
257
|
+
required: true,
|
|
258
|
+
default_current_time: @coupon.new_record?
|
|
259
|
+
) %>
|
|
260
|
+
|
|
261
|
+
<%= admin_split_datetime_field_tag(
|
|
262
|
+
date_name: "coupon[expiration_date_date]",
|
|
263
|
+
hour_name: "coupon[expiration_date_hour]",
|
|
264
|
+
minute_name: "coupon[expiration_date_minute]",
|
|
265
|
+
value: @coupon.expiration_date
|
|
266
|
+
) %>
|
|
267
|
+
|
|
268
|
+
<%= admin_date_and_time_field_tag(
|
|
269
|
+
date_name: "reservation_task[due_date_on]",
|
|
270
|
+
time_name: "reservation_task[due_time]",
|
|
271
|
+
value: @reservation_task.due_at
|
|
272
|
+
) %>
|
|
273
|
+
|
|
274
|
+
<%= admin_time_field_tag("option[valid_from_time]", @option.valid_from_time) %>
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
`datetime_input.js` は visible な date / time 入力と hidden の送信値を同期し、
|
|
278
|
+
不正な日付や時刻の submit を抑止します。
|
|
279
|
+
|
|
243
280
|
controller 側では、必要な filter key を指定して datetime パラメータを正規化します。
|
|
244
281
|
|
|
245
282
|
```ruby
|
|
@@ -262,6 +299,7 @@ end
|
|
|
262
299
|
|
|
263
300
|
```js
|
|
264
301
|
//= require yummy_guide_administrate/clipboards
|
|
302
|
+
//= require yummy_guide_administrate/datetime_input
|
|
265
303
|
//= require yummy_guide_administrate/fixed_submit_actions
|
|
266
304
|
//= require yummy_guide_administrate/filter_form
|
|
267
305
|
//= require yummy_guide_administrate/sticky_left_columns
|