yummy-guide-generic-administrate 0.4.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a900e85ac77c86b162da45de406b17c80f1aa18340da95f6d02ac45ca8ce259
4
- data.tar.gz: 80d5fca1e0d8248f26906395613ff1974b0704d306cece30985f2ebf954a7b67
3
+ metadata.gz: 82f8a49b6cf64da8e522b0290770f402b7f387ba989d5e38ff0d17232b8a7ff2
4
+ data.tar.gz: '0648859c41c97f9bf5d6a5bef998fca7e8685a2a5b5d617bfbd1830d75d08fa9'
5
5
  SHA512:
6
- metadata.gz: 105bcc475d2ac342e51ff9765dda3ca8e3709949a1b72d471182ec90c6a3df1fe17bc014a09bce4ef27f4976e0dddc41d2457ea4b2b8424345a5cb4a24c69cfe
7
- data.tar.gz: afca6ea454ec4ddb804234954df68ab30790a58bc109a8555afaab9d012fd480aed5c3cff3d749cd5ca001851d10a0d788f82180821877f60be0ef83fcd1d155
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
  ```
@@ -171,7 +175,8 @@ gem には専用 partial があります。
171
175
 
172
176
  この slot を置かない場合でも、JS が table の直前に自動生成します。配置を制御
173
177
  したいときだけ明示してください。desktop では LMJ と同じく、`main-content__body--flush`
174
- と組み合わせることで fixed header のクリップ幅が一覧 body と揃います。
178
+ と組み合わせることで fixed header のクリップ幅が一覧 body と揃い、一覧 wrapper
179
+ 自体には縦スクロールを持たせません。
175
180
 
176
181
  #### 3. 自前の table partial を使う場合
177
182
 
@@ -239,6 +244,39 @@ filter form の枠と datetime 入力 partial を組み合わせて利用でき
239
244
  <% end %>
240
245
  ```
241
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
+
242
280
  controller 側では、必要な filter key を指定して datetime パラメータを正規化します。
243
281
 
244
282
  ```ruby
@@ -261,6 +299,7 @@ end
261
299
 
262
300
  ```js
263
301
  //= require yummy_guide_administrate/clipboards
302
+ //= require yummy_guide_administrate/datetime_input
264
303
  //= require yummy_guide_administrate/fixed_submit_actions
265
304
  //= require yummy_guide_administrate/filter_form
266
305
  //= require yummy_guide_administrate/sticky_left_columns