motor-admin 0.1.71 → 0.1.76
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/locales/en.yml +14 -1
- data/config/locales/es.yml +13 -0
- data/lib/motor/build_schema.rb +23 -0
- data/lib/motor/build_schema/load_from_rails.rb +30 -7
- data/lib/motor/cancan_utils.rb +3 -1
- data/lib/motor/version.rb +1 -1
- data/ui/dist/main-0402aeca6e4cb904f4c9.css.gz +0 -0
- data/ui/dist/main-0402aeca6e4cb904f4c9.js.gz +0 -0
- data/ui/dist/manifest.json +5 -5
- metadata +4 -4
- data/ui/dist/main-ff43eb24fb5b62cc171e.css.gz +0 -0
- data/ui/dist/main-ff43eb24fb5b62cc171e.js.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: 06d50bf7bf7c919d161f50f8d8a258287696959c8b7f30957c1e690c18785f90
|
4
|
+
data.tar.gz: 2b9e032003062d26889f0b22541f0687e6389fa715e16b248726b65d499cbee8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec3bac77b7826886d5412645e235a87fdefce3994fcc78c153c950adf44b1e4a04f14cd255d100ccaa91e686c9f088823d717c080551353fbe3cd500f7477433
|
7
|
+
data.tar.gz: e372e79f0fe48661200d8e4f2d4e812d25e4b68d44460324f7751e9053ffe0917e3a20096ba330d92cdfb27cbf64f27e2e40a5f007bb6e3441a786cc4e9ba169
|
data/config/locales/en.yml
CHANGED
@@ -18,6 +18,8 @@ en:
|
|
18
18
|
add_query: Add Query
|
19
19
|
add_scope: Add Scope
|
20
20
|
add_tab: Add Tab
|
21
|
+
adjust_form: Adjust form
|
22
|
+
adjust_fields: Adjust fields
|
21
23
|
alert_email_has_been_sent: Alert email has been sent!
|
22
24
|
alert_has_been_activated: Alert has been activated
|
23
25
|
alert_has_been_disabled: Alert has been disabled
|
@@ -36,6 +38,7 @@ en:
|
|
36
38
|
bar_chart: Bar chart
|
37
39
|
base: Base
|
38
40
|
boolean: Boolean
|
41
|
+
build_custom_form: Build custom form
|
39
42
|
cancel: Cancel
|
40
43
|
cents: Cents
|
41
44
|
checkbox: Checkbox
|
@@ -134,6 +137,7 @@ en:
|
|
134
137
|
or: Or
|
135
138
|
other_than: Other than
|
136
139
|
param_name: Param name
|
140
|
+
password: Password
|
137
141
|
path: Path
|
138
142
|
percent: Percent
|
139
143
|
pie_chart: Pie chart
|
@@ -158,6 +162,7 @@ en:
|
|
158
162
|
revert: Revert
|
159
163
|
revision_has_been_applied: Revision has been applied
|
160
164
|
revisions: Revisions
|
165
|
+
richtext: Richtext
|
161
166
|
row_chart: Row chart
|
162
167
|
save: Save
|
163
168
|
save_and_create_new: Save and Create New
|
@@ -214,4 +219,12 @@ en:
|
|
214
219
|
visibility: Visibility
|
215
220
|
visualization: Visualization
|
216
221
|
write_only: Write-Only
|
217
|
-
|
222
|
+
long_text: Long text
|
223
|
+
percentage: Percentage
|
224
|
+
change: Change
|
225
|
+
chart: Chart
|
226
|
+
tag: Tag
|
227
|
+
link: Link
|
228
|
+
color: Color
|
229
|
+
link_text: Link text
|
230
|
+
copied_to_the_clipboard: Copied to the clipboard
|
data/config/locales/es.yml
CHANGED
@@ -215,6 +215,19 @@ es:
|
|
215
215
|
unit: Unidad
|
216
216
|
write_only: Sólo escritura
|
217
217
|
richtext: Texto enriquecido
|
218
|
+
adjust_form: Ajustar formulario
|
219
|
+
adjust_fields: Ajustar campos
|
220
|
+
build_custom_form: Crear formulario personalizado
|
221
|
+
password: Contraseña
|
222
|
+
long_text: Texto largo
|
223
|
+
percentage: Porcentaje
|
224
|
+
change: Cambia
|
225
|
+
chart: Gráfico
|
226
|
+
tag: Etiqueta
|
227
|
+
link: Enlace
|
228
|
+
color: Color
|
229
|
+
link_text: Texto del enlace
|
230
|
+
copied_to_the_clipboard: Copiado al portapapeles
|
218
231
|
i:
|
219
232
|
locale: es
|
220
233
|
select:
|
data/lib/motor/build_schema.rb
CHANGED
@@ -11,6 +11,29 @@ module Motor
|
|
11
11
|
].freeze
|
12
12
|
end
|
13
13
|
|
14
|
+
module ColumnTypes
|
15
|
+
ALL = [
|
16
|
+
STRING = 'string',
|
17
|
+
INTEGER = 'integer',
|
18
|
+
DECIMAL = 'float',
|
19
|
+
DATETIME = 'datetime',
|
20
|
+
DATE = 'date',
|
21
|
+
BOOLEAN = 'boolean',
|
22
|
+
TEXTAREA = 'textarea',
|
23
|
+
RICHTEXT = 'richtext',
|
24
|
+
CURRENCY = 'currency',
|
25
|
+
PERCENTAGE = 'percentage',
|
26
|
+
CHANGE = 'change',
|
27
|
+
CHART = 'chart',
|
28
|
+
TAG = 'tag',
|
29
|
+
LINK = 'link',
|
30
|
+
COLOR = 'color',
|
31
|
+
IMAGE = 'image',
|
32
|
+
FILE = 'file',
|
33
|
+
JSON = 'json'
|
34
|
+
].freeze
|
35
|
+
end
|
36
|
+
|
14
37
|
SEARCHABLE_COLUMN_TYPES = %i[citext text string bitstring].freeze
|
15
38
|
|
16
39
|
COLUMN_NAME_ACCESS_TYPES = {
|
@@ -13,6 +13,11 @@ module Motor
|
|
13
13
|
ACTION_TEXT_SCOPE_PREFIX = 'with_rich_text_'
|
14
14
|
ACTIVE_STORAGE_SCOPE_PREFIX = 'with_attached_'
|
15
15
|
|
16
|
+
DEFAULT_CURRENCY_FORMAT_HASH = {
|
17
|
+
currency: 'USD',
|
18
|
+
currency_base: 'units'
|
19
|
+
}.freeze
|
20
|
+
|
16
21
|
module_function
|
17
22
|
|
18
23
|
def call
|
@@ -109,22 +114,40 @@ module Motor
|
|
109
114
|
end
|
110
115
|
|
111
116
|
def build_table_column(column, model, default_attrs)
|
112
|
-
is_enum = model.defined_enums[column.name]
|
113
|
-
|
114
117
|
{
|
115
118
|
name: column.name,
|
116
119
|
display_name: Utils.humanize_column_name(model.human_attribute_name(column.name)),
|
117
|
-
column_type:
|
120
|
+
column_type: fetch_column_type(column, model),
|
118
121
|
is_array: column.array?,
|
119
122
|
access_type: COLUMN_NAME_ACCESS_TYPES.fetch(column.name, ColumnAccessTypes::READ_WRITE),
|
120
123
|
default_value: default_attrs[column.name],
|
121
124
|
validators: fetch_validators(model, column.name),
|
122
125
|
reference: nil,
|
123
|
-
format:
|
126
|
+
format: fetch_format_hash(column, model),
|
124
127
|
virtual: false
|
125
128
|
}
|
126
129
|
end
|
127
130
|
|
131
|
+
def fetch_format_hash(column, model)
|
132
|
+
return DEFAULT_CURRENCY_FORMAT_HASH if column.name == 'price'
|
133
|
+
|
134
|
+
inclusion_validator, = model.validators_on(column.name).grep(ActiveModel::Validations::InclusionValidator)
|
135
|
+
return { select_options: inclusion_validator.send(:delimiter) } if inclusion_validator
|
136
|
+
|
137
|
+
{}
|
138
|
+
end
|
139
|
+
|
140
|
+
def fetch_column_type(column, model)
|
141
|
+
return ColumnTypes::CURRENCY if column.name == 'price'
|
142
|
+
return ColumnTypes::COLOR if %w[hex color].include?(column.name)
|
143
|
+
return ColumnTypes::TAG if model.defined_enums[column.name]
|
144
|
+
return ColumnTypes::TAG if model.validators_on(column.name).any?(ActiveModel::Validations::InclusionValidator)
|
145
|
+
return ColumnTypes::RICHTEXT if column.name.ends_with?('_html')
|
146
|
+
return ColumnTypes::COLOR if column.name.match?(/_(color|hex)\z/)
|
147
|
+
|
148
|
+
UNIFIED_TYPES[column.type.to_s] || column.type.to_s
|
149
|
+
end
|
150
|
+
|
128
151
|
def fetch_reference_columns(model)
|
129
152
|
default_attrs = model.new.attributes
|
130
153
|
|
@@ -157,7 +180,7 @@ module Motor
|
|
157
180
|
{
|
158
181
|
name: column_name,
|
159
182
|
display_name: model.human_attribute_name(name),
|
160
|
-
column_type: is_attachment ?
|
183
|
+
column_type: is_attachment ? ColumnTypes::FILE : ColumnTypes::INTEGER,
|
161
184
|
access_type: access_type,
|
162
185
|
default_value: default_attrs[column_name],
|
163
186
|
validators: fetch_validators(model, column_name, ref),
|
@@ -173,8 +196,8 @@ module Motor
|
|
173
196
|
{
|
174
197
|
name: name + ACTION_TEXT_COLUMN_SUFFIX,
|
175
198
|
display_name: model.human_attribute_name(name),
|
176
|
-
column_type:
|
177
|
-
access_type:
|
199
|
+
column_type: ColumnTypes::RICHTEXT,
|
200
|
+
access_type: ColumnAccessTypes::READ_WRITE,
|
178
201
|
default_value: '',
|
179
202
|
validators: fetch_validators(model, name, ref),
|
180
203
|
format: {},
|
data/lib/motor/cancan_utils.rb
CHANGED
data/lib/motor/version.rb
CHANGED
Binary file
|
Binary file
|
data/ui/dist/manifest.json
CHANGED
@@ -2068,11 +2068,11 @@
|
|
2068
2068
|
"mail-opened.svg": "icons/mail-opened.svg",
|
2069
2069
|
"mail.svg": "icons/mail.svg",
|
2070
2070
|
"mailbox.svg": "icons/mailbox.svg",
|
2071
|
-
"main-
|
2072
|
-
"main-
|
2073
|
-
"main-
|
2074
|
-
"main.css": "main-
|
2075
|
-
"main.js": "main-
|
2071
|
+
"main-0402aeca6e4cb904f4c9.css.gz": "main-0402aeca6e4cb904f4c9.css.gz",
|
2072
|
+
"main-0402aeca6e4cb904f4c9.js.LICENSE.txt": "main-0402aeca6e4cb904f4c9.js.LICENSE.txt",
|
2073
|
+
"main-0402aeca6e4cb904f4c9.js.gz": "main-0402aeca6e4cb904f4c9.js.gz",
|
2074
|
+
"main.css": "main-0402aeca6e4cb904f4c9.css",
|
2075
|
+
"main.js": "main-0402aeca6e4cb904f4c9.js",
|
2076
2076
|
"man.svg": "icons/man.svg",
|
2077
2077
|
"manual-gearbox.svg": "icons/manual-gearbox.svg",
|
2078
2078
|
"map-2.svg": "icons/map-2.svg",
|
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.1.
|
4
|
+
version: 0.1.76
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pete Matsyburka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord-filter
|
@@ -1495,8 +1495,8 @@ files:
|
|
1495
1495
|
- ui/dist/icons/zoom-money.svg.gz
|
1496
1496
|
- ui/dist/icons/zoom-out.svg.gz
|
1497
1497
|
- ui/dist/icons/zoom-question.svg.gz
|
1498
|
-
- ui/dist/main-
|
1499
|
-
- ui/dist/main-
|
1498
|
+
- ui/dist/main-0402aeca6e4cb904f4c9.css.gz
|
1499
|
+
- ui/dist/main-0402aeca6e4cb904f4c9.js.gz
|
1500
1500
|
- ui/dist/manifest.json
|
1501
1501
|
homepage:
|
1502
1502
|
licenses:
|
Binary file
|
Binary file
|