motor-admin 0.4.26 → 0.4.27
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/app/controllers/motor/run_queries_controller.rb +8 -0
- data/config/locales/ja.yml +340 -0
- data/lib/motor/queries/run_query.rb +11 -0
- data/lib/motor/tasks/motor.rake +5 -1
- data/lib/motor/version.rb +1 -1
- data/ui/dist/main-60caa963812c952cdd66.js.gz +0 -0
- data/ui/dist/manifest.json +5 -5
- metadata +20 -5
- data/ui/dist/main-3b866105d1b5846018e0.js.gz +0 -0
- /data/ui/dist/{main-3b866105d1b5846018e0.css.gz → main-60caa963812c952cdd66.css.gz} +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dbb9e18046dc319e11398a365ce9faaf8e0d657746fd527490c87f97b5ac9839
|
4
|
+
data.tar.gz: c2e675d3a0fec9b9a42ea7321e50f3499f2b43a9aa9296a60a0ee1531144b84c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a67eea46969271dd1b8337f84ac0679ffc8fcd436d6fd7990650f305b2ac04086d8ae4a2e8fe1d1964fb62a8c1d715f90e3952a4f71ae080721a1aa04ceb4183
|
7
|
+
data.tar.gz: 9bb77c00bc11de56484cbd5357574df5816421624d994ee8f116cdd4dfdfc2e018fe94e58eb0fd651bc7dbe4370014473e7056d37a3209711c503760dff8eb57
|
@@ -20,6 +20,8 @@ module Motor
|
|
20
20
|
private
|
21
21
|
|
22
22
|
def render_result
|
23
|
+
authorize_queries!(@query)
|
24
|
+
|
23
25
|
query_result = Queries::RunQuery.call(@query, variables_hash: variables_params.to_unsafe_h,
|
24
26
|
limit: params[:limit].presence,
|
25
27
|
filters: filter_params)
|
@@ -31,6 +33,12 @@ module Motor
|
|
31
33
|
end
|
32
34
|
end
|
33
35
|
|
36
|
+
def authorize_queries!(query)
|
37
|
+
query.sql_body.to_s.scan(/query_\d+/).each do |name|
|
38
|
+
Motor::Query.accessible_by(current_ability).find(name.split('_').last)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
34
42
|
def current_user_variables
|
35
43
|
return {} unless current_user
|
36
44
|
|
@@ -0,0 +1,340 @@
|
|
1
|
+
ja:
|
2
|
+
motor:
|
3
|
+
action_has_been_applied: アクションが適用されました
|
4
|
+
action_has_failed_with_code: アクションが失敗しました コード
|
5
|
+
action_type: アクションタイプ
|
6
|
+
actions: アクション
|
7
|
+
add: 追加
|
8
|
+
add_action: アクションを追加
|
9
|
+
add_alert: アラートを追加
|
10
|
+
add_column: 列を追加
|
11
|
+
add_dashboard: ダッシュボードを追加
|
12
|
+
add_field: フィールドを追加
|
13
|
+
add_filter: フィルターを追加
|
14
|
+
add_form: フォームを追加
|
15
|
+
add_group: グループを追加
|
16
|
+
add_item: アイテムを追加
|
17
|
+
add_link: リンクを追加
|
18
|
+
add_query: クエリを追加
|
19
|
+
add_scope: スコープを追加
|
20
|
+
add_tab: タブを追加
|
21
|
+
adjust_form: フォームを調整
|
22
|
+
adjust_fields: フィールドを調整
|
23
|
+
alert_email_has_been_sent: アラートメールが送信されました
|
24
|
+
alert_has_been_activated: アラートが有効化されました
|
25
|
+
alert_has_been_disabled: アラートが無効化されました
|
26
|
+
alert_has_been_saved: アラートが保存されました
|
27
|
+
alert_name: アラート名
|
28
|
+
alerts: アラート
|
29
|
+
all: すべて
|
30
|
+
all_resources: すべてのリソース
|
31
|
+
and: そして
|
32
|
+
api_path: APIパス
|
33
|
+
api_request: APIリクエスト
|
34
|
+
apply: 適用
|
35
|
+
are_you_sure: 本当によろしいですか?
|
36
|
+
associations: 関連付け
|
37
|
+
bar_chart: 棒グラフ
|
38
|
+
base: 基本
|
39
|
+
boolean: 真理値型
|
40
|
+
build_custom_form: カスタムフォームを作成
|
41
|
+
cancel: キャンセル
|
42
|
+
cents: セント
|
43
|
+
checkbox: チェックボックス
|
44
|
+
clear_all: すべてクリア
|
45
|
+
clear_selection: 選択をクリア
|
46
|
+
close: 閉じる
|
47
|
+
close_editor: エディターを閉じる
|
48
|
+
close_settings: 設定を閉じる
|
49
|
+
close_variables: 変数を閉じる
|
50
|
+
columns: 列
|
51
|
+
contains: 含む
|
52
|
+
create: 作成
|
53
|
+
currency: 通貨
|
54
|
+
dashboard: ダッシュボード
|
55
|
+
dashboard_has_been_saved: ダッシュボードが保存されました
|
56
|
+
dashboard_title: ダッシュボードタイトル
|
57
|
+
dashboards: ダッシュボード
|
58
|
+
date: 日付
|
59
|
+
date_and_time: 日時
|
60
|
+
decimal: 小数
|
61
|
+
default: デフォルト
|
62
|
+
default_value: 初期値
|
63
|
+
describe_this_alert_optional: このアラートの説明 (オプション)
|
64
|
+
describe_your_dashboard_optional: ダッシュボードの説明 (オプション)
|
65
|
+
describe_your_form_optional: フォームの説明 (オプション)
|
66
|
+
describe_your_query_optional: クエリの説明 (オプション)
|
67
|
+
description: 説明
|
68
|
+
deselect_all: 全て選択解除
|
69
|
+
details: 詳細
|
70
|
+
disable: 無効化
|
71
|
+
display_as: 表示形式
|
72
|
+
edit: 編集
|
73
|
+
edit_sql: SQLを編集
|
74
|
+
edit_markdown: マークダウンを編集
|
75
|
+
emails: メール
|
76
|
+
ends_with: で終わる
|
77
|
+
equal_to: 等しい
|
78
|
+
every_day_at_hh_mm: 毎日 HH:mm に...
|
79
|
+
excludes: 除外
|
80
|
+
field_is_not_a_number: '%{field} は数値ではありません'
|
81
|
+
field_is_required: '%{field} は必須です'
|
82
|
+
field_list_cant_be_empty: "%{field} リストを空にすることはできません"
|
83
|
+
field_must_be_exactly_in_length: '%{field} の長さは %{length} でなければなりません'
|
84
|
+
field_must_be_less_in_length: '%{field} の長さは %{length} 未満でなければなりません'
|
85
|
+
field_must_be_more_in_length: '%{field} の長さは %{length} より大きくなければなりません'
|
86
|
+
field_name: フィールド名
|
87
|
+
field_value_does_not_match_pattern: '%{field} の値が %{pattern} と一致しません'
|
88
|
+
file: ファイル
|
89
|
+
filter: フィルター
|
90
|
+
filters: フィルター
|
91
|
+
form: フォーム
|
92
|
+
form_has_been_saved: フォームが保存されました
|
93
|
+
form_has_been_submitted_successfully: フォームが正常に送信されました
|
94
|
+
form_name: フォーム名
|
95
|
+
forms: フォーム
|
96
|
+
funnel: ファンネル
|
97
|
+
greater_or_equal: 以上
|
98
|
+
greater_than: より大きい
|
99
|
+
greater_than_or_equal_to: 以上
|
100
|
+
group_name: グループ名
|
101
|
+
has_been_created: が作成されました
|
102
|
+
has_been_removed_succesfully: が正常に削除されました
|
103
|
+
has_been_updated: が更新されました
|
104
|
+
hello_admin: こんにちは、管理者さん👋
|
105
|
+
hidden: 非表示
|
106
|
+
image: 画像
|
107
|
+
includes: 含む
|
108
|
+
input_type: 入力タイプ
|
109
|
+
integer: 整数
|
110
|
+
interval: 間隔
|
111
|
+
is: は
|
112
|
+
is_not: ではない
|
113
|
+
items_have_been_removed: 件のアイテムが削除されました
|
114
|
+
items_will_be_removed: '%{count} 件のアイテムが削除されます'
|
115
|
+
json: JSON
|
116
|
+
label: 通貨
|
117
|
+
less_or_equal: 以下
|
118
|
+
less_than: 未満
|
119
|
+
less_than_or_equal_to: 以下
|
120
|
+
line_chart: 線グラフ
|
121
|
+
link_name: リンク名
|
122
|
+
links: リンク
|
123
|
+
load_initial_data: 初期データをロード
|
124
|
+
loading: 読み込み中...
|
125
|
+
looks_like_you_are_new_here: 初めてですね🙃
|
126
|
+
markdown: マークダウン
|
127
|
+
method: メソッド
|
128
|
+
method_call: メソッド呼び出し
|
129
|
+
multiple: 複数
|
130
|
+
name: 名前
|
131
|
+
new_alert: 新しいアラート
|
132
|
+
new_dashboard: 新しいダッシュボード
|
133
|
+
new_form: 新しいフォーム
|
134
|
+
new_query: 新しいクエリ
|
135
|
+
no_data: データがありません
|
136
|
+
not_found: 見つかりませんでした
|
137
|
+
number: 数値
|
138
|
+
ok: OK
|
139
|
+
options_separated_with_new_line_or_comma: 改行またはカンマで区切られたオプション
|
140
|
+
or: または
|
141
|
+
other_than: 以外
|
142
|
+
param_name: パラメータ名
|
143
|
+
password: パスワード
|
144
|
+
path: パス
|
145
|
+
percent: パーセント
|
146
|
+
pie_chart: 円グラフ
|
147
|
+
queries: クエリ
|
148
|
+
query: クエリ
|
149
|
+
query_has_been_saved: クエリが保存されました
|
150
|
+
query_name: クエリ名
|
151
|
+
query_not_selected: クエリが選択されていません
|
152
|
+
query_revisions: クエリリビジョン
|
153
|
+
read_only: 読み取り専用
|
154
|
+
read_write: 読み書き
|
155
|
+
reference: 参照
|
156
|
+
reference_resource: リソースを参照
|
157
|
+
remove: 削除
|
158
|
+
reports: レポート
|
159
|
+
request_param: リクエストパラメータ
|
160
|
+
required: 必須
|
161
|
+
resource_filters: '%{resource} フィルター'
|
162
|
+
resource_settings: '%{resource} 設定'
|
163
|
+
resources: リソース
|
164
|
+
resubmit: 再送信
|
165
|
+
revert: 元に戻す
|
166
|
+
revision_has_been_applied: リビジョンが適用されました
|
167
|
+
revisions: リビジョン
|
168
|
+
richtext: リッチテキスト
|
169
|
+
row_chart: 行グラフ
|
170
|
+
save: 保存
|
171
|
+
save_and_create_new: 保存して新規作成
|
172
|
+
save_as_new: 新規として保存
|
173
|
+
save_dashboard: ダッシュボードを保存
|
174
|
+
save_form: フォームを保存
|
175
|
+
save_query: クエリを保存
|
176
|
+
scopes: スコープ
|
177
|
+
search: 検索
|
178
|
+
search_placeholder: 検索...
|
179
|
+
search_query: 検索クエリ
|
180
|
+
select: 選択
|
181
|
+
select_alert_tags: アラートタグを選択
|
182
|
+
select_dashboard: ダッシュボードを選択
|
183
|
+
select_dashboard_tags: ダッシュボードタグを選択
|
184
|
+
select_form: フォームを選択
|
185
|
+
select_form_tags: フォームタグを選択
|
186
|
+
select_options: オプションを選択
|
187
|
+
select_placeholder: 選択...
|
188
|
+
select_query: クエリを選択
|
189
|
+
select_query_tags: クエリタグを選択
|
190
|
+
select_resource_placeholder: リソースを選択...
|
191
|
+
selected_item_has_been_removed: 選択したアイテムが削除されました
|
192
|
+
selected_item_will_be_removed: 選択したアイテムが削除されます
|
193
|
+
selected_item_will_be_removed_are_you_sure: 選択したアイテムが削除されます。よろしいですか?
|
194
|
+
send_empty: 空で送信しますか?
|
195
|
+
send_now: 今すぐ送信
|
196
|
+
send_to: 送信先
|
197
|
+
set_tags: タグを設定
|
198
|
+
settings: 設定
|
199
|
+
should_be_a_valid_json: '%{field} は有効なJSONでなければなりません'
|
200
|
+
should_be_error_constraint: '%{field} は %{error} %{constraint} でなければなりません'
|
201
|
+
stacked_bars: 積み上げ棒グラフ
|
202
|
+
starts_with: で始まる
|
203
|
+
submit: 送信
|
204
|
+
tab_type: タブタイプ
|
205
|
+
table: テーブル
|
206
|
+
tabs: タブ
|
207
|
+
tags: タグ
|
208
|
+
text: テキスト
|
209
|
+
textarea: テキストエリア
|
210
|
+
timezone: タイムゾーン
|
211
|
+
title: タイトル
|
212
|
+
type: 型
|
213
|
+
unable_to_load_form_data: フォームデータの読み込みに失敗しました
|
214
|
+
unable_to_remove_item: アイテムを削除できませんでした
|
215
|
+
unable_to_remove_items: アイテムを削除できませんでした
|
216
|
+
unable_to_send_email: メールを送信できませんでした
|
217
|
+
unable_to_submit_form: フォームを送信できませんでした
|
218
|
+
unit: 単位
|
219
|
+
value: 値
|
220
|
+
values_axis: 値の軸
|
221
|
+
variables: 変数
|
222
|
+
visibility: 表示設定
|
223
|
+
visualization: 可視化
|
224
|
+
write_only: 書き込み専用
|
225
|
+
long_text: 長文テキスト
|
226
|
+
percentage: パーセンテージ
|
227
|
+
change: 変更
|
228
|
+
chart: チャート
|
229
|
+
tag: タグ
|
230
|
+
link: リンク
|
231
|
+
color: 色
|
232
|
+
link_text: リンクテキスト
|
233
|
+
copied_to_the_clipboard: クリップボードにコピーしました
|
234
|
+
queries_can_contain_variable_via_syntax_html: "クエリでは <code>{{variable}}</code> 構文を使って変数を埋め込むことができます:"
|
235
|
+
syntax_is_used_for_if_and_if_not_conditions_html: "<code>{{#variable}} ... {{/variable}}</code> と <code>{{^variable}} ... {{variable}}</code> 構文は、それぞれ <code>if</code> と <code>if not</code> 条件で使用されます:"
|
236
|
+
current_user_variables_are_always_passed_explicitly_and_can_he_used_html: "<code>{{current_user_id}}</code> と <code>{{current_user_email}}</code> 変数は常に明示的に渡されるため、特定のユーザーにどのデータを表示するかを決めるのに使用できます:"
|
237
|
+
create_new: 新規作成
|
238
|
+
conditional: 条件付き
|
239
|
+
condition: 条件
|
240
|
+
field: フィールド
|
241
|
+
empty: 空
|
242
|
+
not_empty: 空ではない
|
243
|
+
general: 一般
|
244
|
+
run: 実行
|
245
|
+
use_default: デフォルトを使用
|
246
|
+
query_editor: クエリエディター
|
247
|
+
polymorphic: 多態
|
248
|
+
foreign_key: 外部キー
|
249
|
+
primary_key: 主キー
|
250
|
+
through: 経由
|
251
|
+
source: ソース
|
252
|
+
resource: リソース
|
253
|
+
add_association: 関連付けを追加
|
254
|
+
there_are_unsaved_changes_from: "%{timestamp} から未保存の変更があります"
|
255
|
+
clear: クリア
|
256
|
+
restore: 復元
|
257
|
+
more: 詳細
|
258
|
+
add_text: テキストを追加
|
259
|
+
edit_text: テキストを編集
|
260
|
+
open_in_markdown_editor: マークダウンエディターで開く
|
261
|
+
activate: 有効化
|
262
|
+
load_existing_options_from_database: データベースから既存のオプションをロード
|
263
|
+
add_database: データベースを追加
|
264
|
+
audio: 音声
|
265
|
+
video: 動画
|
266
|
+
display_column: 表示列
|
267
|
+
not_authorized_to_perform_action: この操作を実行する権限がありません。
|
268
|
+
upload: アップロード
|
269
|
+
there_is_nothing_here_yet: 表示する項目はまだありません🤷♂️
|
270
|
+
is_null: nullです
|
271
|
+
is_not_null: nullではありません
|
272
|
+
split_tags_by: タグの区切り文字
|
273
|
+
do_not_split: 区切らない
|
274
|
+
semicolon: セミコロン
|
275
|
+
hyphen: ハイフン
|
276
|
+
comma: カンマ
|
277
|
+
slash: スラッシュ
|
278
|
+
searchable_columns: 検索可能な列
|
279
|
+
validate: 検証
|
280
|
+
error_message: エラーメッセージ
|
281
|
+
validation_regexp: 検証用の正規表現
|
282
|
+
regexp: 正規表現
|
283
|
+
message: メッセージ
|
284
|
+
should_be_a_valid_regexp: 有効な正規表現文字列でなければなりません
|
285
|
+
order_by: 並び替え
|
286
|
+
ascending: 昇順
|
287
|
+
descending: 降順
|
288
|
+
url: URL
|
289
|
+
expand: 展開
|
290
|
+
add_api: APIを追加
|
291
|
+
on_collection: コレクション上
|
292
|
+
association: 関連付け
|
293
|
+
action_has_been_removed: このアクションは削除されました
|
294
|
+
every_5_seconds: 5秒ごと
|
295
|
+
every_30_seconds: 30秒ごと
|
296
|
+
every_minute: 1分ごと
|
297
|
+
every_5_minutes: 5分ごと
|
298
|
+
do_not_refresh: 更新しない
|
299
|
+
html: HTML
|
300
|
+
edit_html: HTMLを編集
|
301
|
+
there_are_unsaved_changes_close_form: "未保存の変更があります。フォームを閉じますか?"
|
302
|
+
send_file_url: ファイルURLを送信
|
303
|
+
rating: 評価
|
304
|
+
total: 合計
|
305
|
+
radar_chart: レーダーチャート
|
306
|
+
show_on_table: テーブルに表示
|
307
|
+
map: マップ
|
308
|
+
audits: 監査ログ
|
309
|
+
nothing_to_show_here_yet: まだ何も表示する内容がありません🤷
|
310
|
+
internal: 内部/匿名
|
311
|
+
updated: 更新済み
|
312
|
+
created: 作成済み
|
313
|
+
deleted: 削除済み
|
314
|
+
sign_out: ログアウト
|
315
|
+
header: ヘッダー
|
316
|
+
user_dropdown: ユーザードロップダウン
|
317
|
+
add_condition: 条件を追加
|
318
|
+
remove_condition: 条件を削除
|
319
|
+
unable_to_send_alert: アラートを送信できませんでした
|
320
|
+
send_via: 送信経路
|
321
|
+
download: ダウンロード
|
322
|
+
alert: アラート
|
323
|
+
downloading: ダウンロード中...
|
324
|
+
display_id: 表示ID
|
325
|
+
display_settings: 表示設定
|
326
|
+
sql: SQL
|
327
|
+
api: API
|
328
|
+
variable_name: 変数名
|
329
|
+
add_variable: 変数を追加
|
330
|
+
notes: 備考
|
331
|
+
new_mention_for: "%{resource} の新しいメンション"
|
332
|
+
user_mentioned_you_with_note: "%{user} があなたにメンションしました:\n%{note}"
|
333
|
+
edit_note: 備考を編集
|
334
|
+
create_reminder: リマインダーを作成
|
335
|
+
new_reminder_for: "%{resource} の新しいリマインダー"
|
336
|
+
reminder_has_been_removed: リマインダーが削除されました
|
337
|
+
note_has_been_removed: 備考が削除されました
|
338
|
+
schedule_at: 予定日時
|
339
|
+
kanban_columns: カンバン列
|
340
|
+
kanban_card_columns: カンバンカード列
|
@@ -15,6 +15,7 @@ module Motor
|
|
15
15
|
RESERVED_VARIABLES = %w[current_user_id current_user_email].freeze
|
16
16
|
|
17
17
|
DATABASE_URL_VARIABLE_SUFFIX = '_database_url'
|
18
|
+
QUERY_VARIABLE_PREFIX = 'query_'
|
18
19
|
|
19
20
|
DB_LINK_VALIDATE_REGEXP = /(.*?)\s*\{\{\s*\w+_database_url\s*\}\}/i.freeze
|
20
21
|
|
@@ -188,6 +189,7 @@ module Motor
|
|
188
189
|
variables.map do |variable_name, value|
|
189
190
|
[value].flatten.map do |val|
|
190
191
|
val = fetch_variable_database_url(variable_name) if variable_name.ends_with?(DATABASE_URL_VARIABLE_SUFFIX)
|
192
|
+
val = fetch_query_data(variable_name) if variable_name.starts_with?(QUERY_VARIABLE_PREFIX)
|
191
193
|
|
192
194
|
ActiveRecord::Relation::QueryAttribute.new(
|
193
195
|
variable_name,
|
@@ -206,6 +208,15 @@ module Motor
|
|
206
208
|
raise UnknownDatabase, "#{class_name} database is not defined"
|
207
209
|
end
|
208
210
|
|
211
|
+
def fetch_query_data(variable_name)
|
212
|
+
query = Motor::Query.find(variable_name.split('_').last)
|
213
|
+
|
214
|
+
result = Motor::Queries::RunQuery.call(query)
|
215
|
+
columns = result.columns.pluck(:name)
|
216
|
+
|
217
|
+
result.data.map { |row| columns.zip(row).to_h }.to_json
|
218
|
+
end
|
219
|
+
|
209
220
|
# @param array [Array]
|
210
221
|
# @return [Array]
|
211
222
|
def normalize_statement_for_sql(statement)
|
data/lib/motor/tasks/motor.rake
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
namespace :motor do
|
4
|
-
desc '
|
4
|
+
desc 'Create migratione and add route'
|
5
5
|
|
6
6
|
task install: :environment do
|
7
7
|
Rails::Generators.invoke('motor:install')
|
8
8
|
end
|
9
9
|
|
10
|
+
desc 'Update configs/motor.yml file'
|
11
|
+
|
10
12
|
task dump: :environment do
|
11
13
|
Motor::Configs::WriteToFile.write_with_lock
|
12
14
|
|
@@ -21,6 +23,8 @@ namespace :motor do
|
|
21
23
|
puts '✅ configs have been loaded from configs/motor.yml'
|
22
24
|
end
|
23
25
|
|
26
|
+
desc 'Reload configs from configs/motor.yml file'
|
27
|
+
|
24
28
|
task reload: :environment do
|
25
29
|
ActiveRecord::Base.transaction do
|
26
30
|
Motor::Configs.clear
|
data/lib/motor/version.rb
CHANGED
Binary file
|
data/ui/dist/manifest.json
CHANGED
@@ -3964,9 +3964,9 @@
|
|
3964
3964
|
"images/layers-2x.png": "images/layers-2x.png",
|
3965
3965
|
"images/layers.png": "images/layers.png",
|
3966
3966
|
"images/marker-icon.png": "images/marker-icon.png",
|
3967
|
-
"main-
|
3968
|
-
"main-
|
3969
|
-
"main-
|
3970
|
-
"main.css": "main-
|
3971
|
-
"main.js": "main-
|
3967
|
+
"main-60caa963812c952cdd66.css.gz": "main-60caa963812c952cdd66.css.gz",
|
3968
|
+
"main-60caa963812c952cdd66.js.LICENSE.txt": "main-60caa963812c952cdd66.js.LICENSE.txt",
|
3969
|
+
"main-60caa963812c952cdd66.js.gz": "main-60caa963812c952cdd66.js.gz",
|
3970
|
+
"main.css": "main-60caa963812c952cdd66.css",
|
3971
|
+
"main.js": "main-60caa963812c952cdd66.js"
|
3972
3972
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: motor-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pete Matsyburka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ar_lazy_preload
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '5.2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: csv
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.0'
|
83
97
|
description: |
|
84
98
|
Motor Admin allows to create a flexible admin panel with writing less code.
|
85
99
|
All customizations to the admin panel can be made directly in the UI without
|
@@ -165,6 +179,7 @@ files:
|
|
165
179
|
- config/locales/el.yml
|
166
180
|
- config/locales/en.yml
|
167
181
|
- config/locales/es.yml
|
182
|
+
- config/locales/ja.yml
|
168
183
|
- config/locales/pt.yml
|
169
184
|
- config/routes.rb
|
170
185
|
- lib/generators/motor/install_generator.rb
|
@@ -2235,8 +2250,8 @@ files:
|
|
2235
2250
|
- ui/dist/images/layers-2x.png
|
2236
2251
|
- ui/dist/images/layers.png
|
2237
2252
|
- ui/dist/images/marker-icon.png
|
2238
|
-
- ui/dist/main-
|
2239
|
-
- ui/dist/main-
|
2253
|
+
- ui/dist/main-60caa963812c952cdd66.css.gz
|
2254
|
+
- ui/dist/main-60caa963812c952cdd66.js.gz
|
2240
2255
|
- ui/dist/manifest.json
|
2241
2256
|
homepage:
|
2242
2257
|
licenses:
|
@@ -2265,7 +2280,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
2265
2280
|
- !ruby/object:Gem::Version
|
2266
2281
|
version: '0'
|
2267
2282
|
requirements: []
|
2268
|
-
rubygems_version: 3.
|
2283
|
+
rubygems_version: 3.5.9
|
2269
2284
|
signing_key:
|
2270
2285
|
specification_version: 4
|
2271
2286
|
summary: Low-code Admin panel and Business intelligence
|
Binary file
|
File without changes
|