cm-admin 0.7.7 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +6 -5
- data/Gemfile.lock +49 -9
- data/app/assets/images/image_not_available.png +0 -0
- data/app/assets/stylesheets/cm_admin/base/table.scss +1 -1
- data/app/assets/stylesheets/cm_admin/cm_admin.css.scss +1 -0
- data/app/assets/stylesheets/cm_admin/pages/import_page.scss +125 -0
- data/app/controllers/cm_admin/resource_controller.rb +26 -4
- data/app/helpers/cm_admin/application_helper.rb +41 -0
- data/app/javascript/packs/cm_admin/exports.js +0 -1
- data/app/jobs/file_import_processor_job.rb +38 -0
- data/app/models/concerns/cm_admin/file_import.rb +40 -0
- data/app/models/file_import.rb +27 -0
- data/app/policies/cm_admin/file_import_policy.rb +11 -0
- data/app/views/cm_admin/main/_actions_dropdown.html.slim +3 -15
- data/app/views/cm_admin/main/_associated_table.html.slim +5 -0
- data/app/views/cm_admin/main/_member_custom_action_modal.html.slim +13 -0
- data/app/views/cm_admin/main/_table.html.slim +3 -1
- data/app/views/cm_admin/main/_tabs.html.slim +1 -1
- data/app/views/cm_admin/main/_top_navbar.html.slim +2 -0
- data/app/views/cm_admin/main/import_form.html.slim +35 -0
- data/cm_admin.gemspec +2 -1
- data/config/routes.rb +6 -0
- data/lib/cm_admin/model.rb +7 -1
- data/lib/cm_admin/models/column.rb +3 -1
- data/lib/cm_admin/models/field.rb +4 -2
- data/lib/cm_admin/models/form_field.rb +3 -2
- data/lib/cm_admin/models/importer.rb +17 -0
- data/lib/cm_admin/version.rb +1 -1
- data/lib/cm_admin/view_helpers/field_display_helper.rb +8 -0
- data/lib/cm_admin/view_helpers/form_field_helper.rb +8 -6
- data/lib/cm_admin/view_helpers.rb +18 -18
- data/lib/cm_admin.rb +2 -1
- data/lib/generators/cm_admin/add_graphql_generator.rb +25 -0
- data/lib/generators/cm_admin/install_generator.rb +2 -0
- data/lib/generators/cm_admin/templates/cm_admin_initializer.rb +1 -1
- data/lib/generators/cm_admin/templates/concerns/attachable.rb +63 -0
- data/lib/generators/cm_admin/templates/concerns/filtered_list.rb +22 -0
- data/lib/generators/cm_admin/templates/concerns/paginator.rb +12 -0
- data/lib/generators/cm_admin/templates/constants.rb +3 -0
- data/lib/generators/cm_admin/templates/exceptions/base_exception.rb +9 -0
- data/lib/generators/cm_admin/templates/graphql/enums/base/sort_column.rb +7 -0
- data/lib/generators/cm_admin/templates/graphql/enums/base/sort_direction.rb +8 -0
- data/lib/generators/cm_admin/templates/graphql/graphql_schema.rb +55 -0
- data/lib/generators/cm_admin/templates/graphql/inputs/base/attachment.rb +15 -0
- data/lib/generators/cm_admin/templates/graphql/inputs/base/filter.rb +15 -0
- data/lib/generators/cm_admin/templates/graphql/inputs/base/paging.rb +15 -0
- data/lib/generators/cm_admin/templates/graphql/inputs/base/sort.rb +15 -0
- data/lib/generators/cm_admin/templates/graphql/mutations/base_mutation.rb +8 -0
- data/lib/generators/cm_admin/templates/graphql/objects/base/attachment_type.rb +31 -0
- data/lib/generators/cm_admin/templates/graphql/objects/base/paging_type.rb +9 -0
- data/lib/generators/cm_admin/templates/graphql/queries/base_query.rb +4 -0
- data/package-lock.json +131 -35
- data/tmp/cache/webpacker/last-compilation-digest-development +1 -1
- data/yarn.lock +5145 -6202
- metadata +47 -7
@@ -0,0 +1,31 @@
|
|
1
|
+
module Types::Objects::Base
|
2
|
+
class AttachmentType < Types::BaseObject
|
3
|
+
field :id, Int, nil, null: false
|
4
|
+
field :filename, String, nil, null: false
|
5
|
+
field :url, String, nil, null: false
|
6
|
+
|
7
|
+
def id
|
8
|
+
if object.class.eql?(ActiveStorage::Variant)
|
9
|
+
object.blob.id
|
10
|
+
else
|
11
|
+
object.id
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def filename
|
16
|
+
if object.class.eql?(ActiveStorage::Variant)
|
17
|
+
object.blob.filename.to_s + "-" + object.variation.transformations[:resize]
|
18
|
+
else
|
19
|
+
object.filename.to_s
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def url
|
24
|
+
if object.class.eql?(ActiveStorage::Variant)
|
25
|
+
Rails.application.routes.url_helpers.rails_representation_url(object)
|
26
|
+
else
|
27
|
+
object.service_url
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
module Types::Objects::Base
|
2
|
+
class PagingType < Types::BaseObject
|
3
|
+
graphql_name 'PagingType'
|
4
|
+
field :current_page, Integer, null: true
|
5
|
+
field :total_items, Integer, null: true
|
6
|
+
field :total_pages, Integer, null: true
|
7
|
+
field :total_count, Integer, null: true
|
8
|
+
end
|
9
|
+
end
|
data/package-lock.json
CHANGED
@@ -1429,6 +1429,58 @@
|
|
1429
1429
|
"node": ">=6"
|
1430
1430
|
}
|
1431
1431
|
},
|
1432
|
+
"node_modules/@jridgewell/gen-mapping": {
|
1433
|
+
"version": "0.3.2",
|
1434
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
|
1435
|
+
"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
|
1436
|
+
"dependencies": {
|
1437
|
+
"@jridgewell/set-array": "^1.0.1",
|
1438
|
+
"@jridgewell/sourcemap-codec": "^1.4.10",
|
1439
|
+
"@jridgewell/trace-mapping": "^0.3.9"
|
1440
|
+
},
|
1441
|
+
"engines": {
|
1442
|
+
"node": ">=6.0.0"
|
1443
|
+
}
|
1444
|
+
},
|
1445
|
+
"node_modules/@jridgewell/resolve-uri": {
|
1446
|
+
"version": "3.1.0",
|
1447
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
|
1448
|
+
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
|
1449
|
+
"engines": {
|
1450
|
+
"node": ">=6.0.0"
|
1451
|
+
}
|
1452
|
+
},
|
1453
|
+
"node_modules/@jridgewell/set-array": {
|
1454
|
+
"version": "1.1.2",
|
1455
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
|
1456
|
+
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
|
1457
|
+
"engines": {
|
1458
|
+
"node": ">=6.0.0"
|
1459
|
+
}
|
1460
|
+
},
|
1461
|
+
"node_modules/@jridgewell/source-map": {
|
1462
|
+
"version": "0.3.2",
|
1463
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
|
1464
|
+
"integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
|
1465
|
+
"dependencies": {
|
1466
|
+
"@jridgewell/gen-mapping": "^0.3.0",
|
1467
|
+
"@jridgewell/trace-mapping": "^0.3.9"
|
1468
|
+
}
|
1469
|
+
},
|
1470
|
+
"node_modules/@jridgewell/sourcemap-codec": {
|
1471
|
+
"version": "1.4.14",
|
1472
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
|
1473
|
+
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
|
1474
|
+
},
|
1475
|
+
"node_modules/@jridgewell/trace-mapping": {
|
1476
|
+
"version": "0.3.14",
|
1477
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
|
1478
|
+
"integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
|
1479
|
+
"dependencies": {
|
1480
|
+
"@jridgewell/resolve-uri": "^3.0.3",
|
1481
|
+
"@jridgewell/sourcemap-codec": "^1.4.10"
|
1482
|
+
}
|
1483
|
+
},
|
1432
1484
|
"node_modules/@leichtgewicht/ip-codec": {
|
1433
1485
|
"version": "2.0.4",
|
1434
1486
|
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
|
@@ -9686,10 +9738,9 @@
|
|
9686
9738
|
}
|
9687
9739
|
},
|
9688
9740
|
"node_modules/source-map-support": {
|
9689
|
-
"version": "0.5.
|
9690
|
-
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.
|
9691
|
-
"integrity": "sha512-
|
9692
|
-
"license": "MIT",
|
9741
|
+
"version": "0.5.21",
|
9742
|
+
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
9743
|
+
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
9693
9744
|
"dependencies": {
|
9694
9745
|
"buffer-from": "^1.0.0",
|
9695
9746
|
"source-map": "^0.6.0"
|
@@ -10156,14 +10207,14 @@
|
|
10156
10207
|
}
|
10157
10208
|
},
|
10158
10209
|
"node_modules/terser": {
|
10159
|
-
"version": "5.
|
10160
|
-
"resolved": "https://registry.npmjs.org/terser/-/terser-5.
|
10161
|
-
"integrity": "sha512-
|
10162
|
-
"license": "BSD-2-Clause",
|
10210
|
+
"version": "5.14.2",
|
10211
|
+
"resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
|
10212
|
+
"integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
|
10163
10213
|
"dependencies": {
|
10214
|
+
"@jridgewell/source-map": "^0.3.2",
|
10215
|
+
"acorn": "^8.5.0",
|
10164
10216
|
"commander": "^2.20.0",
|
10165
|
-
"source-map": "~0.
|
10166
|
-
"source-map-support": "~0.5.19"
|
10217
|
+
"source-map-support": "~0.5.20"
|
10167
10218
|
},
|
10168
10219
|
"bin": {
|
10169
10220
|
"terser": "bin/terser"
|
@@ -10241,13 +10292,15 @@
|
|
10241
10292
|
"randombytes": "^2.1.0"
|
10242
10293
|
}
|
10243
10294
|
},
|
10244
|
-
"node_modules/terser/node_modules/
|
10245
|
-
"version": "
|
10246
|
-
"resolved": "https://registry.npmjs.org/
|
10247
|
-
"integrity": "sha512-
|
10248
|
-
"
|
10295
|
+
"node_modules/terser/node_modules/acorn": {
|
10296
|
+
"version": "8.7.1",
|
10297
|
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
|
10298
|
+
"integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==",
|
10299
|
+
"bin": {
|
10300
|
+
"acorn": "bin/acorn"
|
10301
|
+
},
|
10249
10302
|
"engines": {
|
10250
|
-
"node": ">=
|
10303
|
+
"node": ">=0.4.0"
|
10251
10304
|
}
|
10252
10305
|
},
|
10253
10306
|
"node_modules/through2": {
|
@@ -11484,10 +11537,9 @@
|
|
11484
11537
|
}
|
11485
11538
|
},
|
11486
11539
|
"node_modules/webpack/node_modules/terser": {
|
11487
|
-
"version": "4.8.
|
11488
|
-
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.
|
11489
|
-
"integrity": "sha512-
|
11490
|
-
"license": "BSD-2-Clause",
|
11540
|
+
"version": "4.8.1",
|
11541
|
+
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
|
11542
|
+
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
|
11491
11543
|
"dependencies": {
|
11492
11544
|
"commander": "^2.20.0",
|
11493
11545
|
"source-map": "~0.6.1",
|
@@ -12747,6 +12799,49 @@
|
|
12747
12799
|
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz",
|
12748
12800
|
"integrity": "sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w=="
|
12749
12801
|
},
|
12802
|
+
"@jridgewell/gen-mapping": {
|
12803
|
+
"version": "0.3.2",
|
12804
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
|
12805
|
+
"integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
|
12806
|
+
"requires": {
|
12807
|
+
"@jridgewell/set-array": "^1.0.1",
|
12808
|
+
"@jridgewell/sourcemap-codec": "^1.4.10",
|
12809
|
+
"@jridgewell/trace-mapping": "^0.3.9"
|
12810
|
+
}
|
12811
|
+
},
|
12812
|
+
"@jridgewell/resolve-uri": {
|
12813
|
+
"version": "3.1.0",
|
12814
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
|
12815
|
+
"integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
|
12816
|
+
},
|
12817
|
+
"@jridgewell/set-array": {
|
12818
|
+
"version": "1.1.2",
|
12819
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
|
12820
|
+
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
|
12821
|
+
},
|
12822
|
+
"@jridgewell/source-map": {
|
12823
|
+
"version": "0.3.2",
|
12824
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
|
12825
|
+
"integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
|
12826
|
+
"requires": {
|
12827
|
+
"@jridgewell/gen-mapping": "^0.3.0",
|
12828
|
+
"@jridgewell/trace-mapping": "^0.3.9"
|
12829
|
+
}
|
12830
|
+
},
|
12831
|
+
"@jridgewell/sourcemap-codec": {
|
12832
|
+
"version": "1.4.14",
|
12833
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
|
12834
|
+
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
|
12835
|
+
},
|
12836
|
+
"@jridgewell/trace-mapping": {
|
12837
|
+
"version": "0.3.14",
|
12838
|
+
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz",
|
12839
|
+
"integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==",
|
12840
|
+
"requires": {
|
12841
|
+
"@jridgewell/resolve-uri": "^3.0.3",
|
12842
|
+
"@jridgewell/sourcemap-codec": "^1.4.10"
|
12843
|
+
}
|
12844
|
+
},
|
12750
12845
|
"@leichtgewicht/ip-codec": {
|
12751
12846
|
"version": "2.0.4",
|
12752
12847
|
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
|
@@ -18800,9 +18895,9 @@
|
|
18800
18895
|
}
|
18801
18896
|
},
|
18802
18897
|
"source-map-support": {
|
18803
|
-
"version": "0.5.
|
18804
|
-
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.
|
18805
|
-
"integrity": "sha512-
|
18898
|
+
"version": "0.5.21",
|
18899
|
+
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
18900
|
+
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
18806
18901
|
"requires": {
|
18807
18902
|
"buffer-from": "^1.0.0",
|
18808
18903
|
"source-map": "^0.6.0"
|
@@ -19147,19 +19242,20 @@
|
|
19147
19242
|
}
|
19148
19243
|
},
|
19149
19244
|
"terser": {
|
19150
|
-
"version": "5.
|
19151
|
-
"resolved": "https://registry.npmjs.org/terser/-/terser-5.
|
19152
|
-
"integrity": "sha512-
|
19245
|
+
"version": "5.14.2",
|
19246
|
+
"resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
|
19247
|
+
"integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
|
19153
19248
|
"requires": {
|
19249
|
+
"@jridgewell/source-map": "^0.3.2",
|
19250
|
+
"acorn": "^8.5.0",
|
19154
19251
|
"commander": "^2.20.0",
|
19155
|
-
"source-map": "~0.
|
19156
|
-
"source-map-support": "~0.5.19"
|
19252
|
+
"source-map-support": "~0.5.20"
|
19157
19253
|
},
|
19158
19254
|
"dependencies": {
|
19159
|
-
"
|
19160
|
-
"version": "
|
19161
|
-
"resolved": "https://registry.npmjs.org/
|
19162
|
-
"integrity": "sha512-
|
19255
|
+
"acorn": {
|
19256
|
+
"version": "8.7.1",
|
19257
|
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz",
|
19258
|
+
"integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A=="
|
19163
19259
|
}
|
19164
19260
|
}
|
19165
19261
|
},
|
@@ -19797,9 +19893,9 @@
|
|
19797
19893
|
}
|
19798
19894
|
},
|
19799
19895
|
"terser": {
|
19800
|
-
"version": "4.8.
|
19801
|
-
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.
|
19802
|
-
"integrity": "sha512-
|
19896
|
+
"version": "4.8.1",
|
19897
|
+
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
|
19898
|
+
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
|
19803
19899
|
"requires": {
|
19804
19900
|
"commander": "^2.20.0",
|
19805
19901
|
"source-map": "~0.6.1",
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
31533361827c4faa12bf892403c629479a81246a
|