tybo 0.2.5 → 0.3.1
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/components/form_component.html.erb +1 -1
- data/app/components/forms/has_one_form_component.html.erb +3 -3
- data/app/components/index_header_export_component.html.erb +5 -1
- data/lib/generators/bo/bo_generator.rb +1 -1
- data/lib/generators/bo/templates/controller.rb +32 -0
- data/lib/generators/bo/templates/index.html.erb +1 -0
- data/lib/generators/bo/templates/item.html.erb +0 -1
- data/lib/generators/bo/utils/files/fr.json +2 -1
- data/lib/generators/bo_namespace/bo_namespace_generator.rb +1 -1
- data/lib/generators/bo_namespace/templates/admin_controller.rb +1 -0
- data/lib/generators/tybo_install/tybo_install_generator.rb +2 -2
- data/lib/generators/tybo_install/utils/translations.rb +1 -0
- data/lib/tybo/version.rb +1 -1
- metadata +8 -14
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f868105783b1c54829bbf63a1209da1025504e38a8252782e8839d97a2b0eeb2
         | 
| 4 | 
            +
              data.tar.gz: 21eb809af4c857530d52dec15603b88ac90f442938d8c6b4a1ba1dc8b17520b8
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3569dc6485aa60d1d355db5b00e61aed1d045efd2fc782d45c479a494207d4c2b959069becdbeeac0daaabda2ac574352ef0840fb428a0f681dd34247635b63d
         | 
| 7 | 
            +
              data.tar.gz: 5421fefa7316175f47574bd8abeaac34016934e15f7ab75ffb51ec97728bf55188798c35e34851332604164605266a0636b1c998ea965c53692b208ee137db84
         | 
| @@ -1,9 +1,9 @@ | |
| 1 | 
            -
            <div class="space-y- | 
| 1 | 
            +
            <div class="py-3 space-y-1 sm:space-y-2">
         | 
| 2 2 | 
             
              <div>
         | 
| 3 3 | 
             
                <h3 class="text-lg font-medium leading-6 text-gray-900"><%= @title %></h3>
         | 
| 4 4 | 
             
              </div>
         | 
| 5 | 
            -
              <div class=" | 
| 6 | 
            -
                <div class="sm:items-start sm:gap-4 sm:border-t sm:border-gray-200 | 
| 5 | 
            +
              <div class="sm:space-y-5">
         | 
| 6 | 
            +
                <div class="sm:items-start sm:gap-4 sm:border-t sm:border-gray-200">
         | 
| 7 7 | 
             
                  <%= content %>
         | 
| 8 8 | 
             
                </div>
         | 
| 9 9 | 
             
              </div>
         | 
| @@ -1,3 +1,7 @@ | |
| 1 1 | 
             
            <div class="mt-4 mr-2 sm:flex-none">
         | 
| 2 | 
            -
              <%= link_to I18n.t('bo. | 
| 2 | 
            +
              <%= link_to I18n.t('bo.export_btn'),
         | 
| 3 | 
            +
                  @path,
         | 
| 4 | 
            +
                  id: 'exportBtn',
         | 
| 5 | 
            +
                  class: "inline-flex items-center justify-center rounded-md border border-transparent bg-tybo px-4 py-2 text-sm font-medium text-white shadow-sm hover:bg-tybo-700 focus:outline-none focus:ring-2 focus:ring-tybo-500 focus:ring-offset-2 sm:w-auto"
         | 
| 6 | 
            +
               %>
         | 
| 3 7 | 
             
            </div>
         | 
| @@ -38,7 +38,7 @@ class BoGenerator < Rails::Generators::NamedBase | |
| 38 38 | 
             
                return if rails_routes.any?("#{options[:namespace]}_#{plural_name}")
         | 
| 39 39 |  | 
| 40 40 | 
             
                inject_into_file 'config/routes.rb', after: " namespace :#{options[:namespace]} do\n" do
         | 
| 41 | 
            -
                  "    resources :#{plural_name}\n"
         | 
| 41 | 
            +
                  "    resources :#{plural_name} do\n      get 'export_csv', on: :collection\n    end\n"
         | 
| 42 42 | 
             
                end
         | 
| 43 43 | 
             
              end
         | 
| 44 44 |  | 
| @@ -63,8 +63,40 @@ module <%= options[:namespace].camelize %> | |
| 63 63 | 
             
                  redirect_to <%="#{options[:namespace]}_#{class_name.underscore.pluralize}_path"%>, status: :see_other
         | 
| 64 64 | 
             
                end
         | 
| 65 65 |  | 
| 66 | 
            +
                def export_csv
         | 
| 67 | 
            +
                  @<%= class_name.pluralize.underscore %> = fetch_authorized_<%= class_name.pluralize.underscore %>
         | 
| 68 | 
            +
                  csv_data = generate_csv_data
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                  send_data csv_data,
         | 
| 71 | 
            +
                            type: 'text/csv; charset=utf-8; header=present',
         | 
| 72 | 
            +
                            disposition: "attachment; filename=#{I18n.t("bo.<%= class_name.underscore %>.other")}_#{Time.zone.now}.csv"
         | 
| 73 | 
            +
                end
         | 
| 74 | 
            +
             | 
| 66 75 | 
             
                private
         | 
| 67 76 |  | 
| 77 | 
            +
                def fetch_authorized_<%= class_name.pluralize.underscore %>
         | 
| 78 | 
            +
                  authorized_scope(
         | 
| 79 | 
            +
                    <%=class_name%>.all,
         | 
| 80 | 
            +
                    with: Bo::Administrators::<%=class_name%>Policy
         | 
| 81 | 
            +
                  ).ransack(params[:q]).result(distinct: true)
         | 
| 82 | 
            +
                end
         | 
| 83 | 
            +
             | 
| 84 | 
            +
                def generate_csv_data
         | 
| 85 | 
            +
                  CSV.generate(headers: true) do |csv|
         | 
| 86 | 
            +
                    csv << translated_headers
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                    @<%= class_name.pluralize.underscore %>.each do |instance|
         | 
| 89 | 
            +
                      csv << <%=class_name%>.column_names.map { |col| instance.send(col) }
         | 
| 90 | 
            +
                    end
         | 
| 91 | 
            +
                  end
         | 
| 92 | 
            +
                end
         | 
| 93 | 
            +
             | 
| 94 | 
            +
                def translated_headers
         | 
| 95 | 
            +
                  <%=class_name%>.column_names.map do |col|
         | 
| 96 | 
            +
                    I18n.t("bo.<%=class_name.downcase%>.attributes.#{col}")
         | 
| 97 | 
            +
                  end
         | 
| 98 | 
            +
                end
         | 
| 99 | 
            +
             | 
| 68 100 | 
             
                def set_<%= class_name.underscore %>
         | 
| 69 101 | 
             
                  @<%= class_name.underscore %> = authorized_scope(
         | 
| 70 102 | 
             
                    <%= class_name %>.all,
         | 
| @@ -5,6 +5,7 @@ | |
| 5 5 | 
             
                subtitle: I18n.t('bo.<%= class_name.underscore %>.subtitle').capitalize,
         | 
| 6 6 | 
             
                  ) do |header| %>
         | 
| 7 7 | 
             
                <%%= header.with_add_button(path: <%="new_#{options[:namespace]}_#{class_name.underscore}_path" %>) %>
         | 
| 8 | 
            +
                <%%= header.with_export_button(path: <%= "export_csv_#{options[:namespace]}_#{class_name.pluralize.underscore}_path(format: :csv)"%>)%>
         | 
| 8 9 | 
             
              <%% end %>
         | 
| 9 10 |  | 
| 10 11 | 
             
              <!-- Search Bar -->
         | 
| @@ -10,7 +10,6 @@ | |
| 10 10 | 
             
                        { label: I18n.t('bo.<%= class_name.underscore %>.others').capitalize, path: <%= "#{options[:namespace]}_#{class_name.pluralize.underscore}_path"%> },
         | 
| 11 11 | 
             
                        current_page
         | 
| 12 12 | 
             
                      ]) %>
         | 
| 13 | 
            -
                  <br>
         | 
| 14 13 | 
             
                  <%%= render "form", <%= class_name.underscore %>: @<%= class_name.underscore %> %>
         | 
| 15 14 | 
             
              <%% end %>
         | 
| 16 15 | 
             
            <%% end %>
         | 
| @@ -43,7 +43,7 @@ class BoNamespaceGenerator < Rails::Generators::NamedBase | |
| 43 43 | 
             
                # devise_route = "devise_for :#{singular_name},\n           path: '#{plural_name}',\n           controllers: {\n             sessions: 'custom_devise/sessions',\n             passwords: 'custom_devise/passwords',\n             registrations: 'custom_devise/registrations'\n           }"
         | 
| 44 44 | 
             
                gsub_file('config/routes.rb', /devise_for :#{plural_name}/, "devise_for :#{plural_name}, path: '#{plural_name}'")
         | 
| 45 45 | 
             
                # route devise_route
         | 
| 46 | 
            -
                route "# #{plural_name.capitalize}\nnamespace :#{plural_name} do\n  root to: '#{plural_name}#index'\n  resources :#{plural_name}\nend"
         | 
| 46 | 
            +
                route "# #{plural_name.capitalize}\nnamespace :#{plural_name} do\n  root to: '#{plural_name}#index'\n  resources :#{plural_name} do\n      get 'export_csv', on: :collection\n    end\n\nend"
         | 
| 47 47 | 
             
              end
         | 
| 48 48 |  | 
| 49 49 | 
             
              def remove_devise_registration
         | 
| @@ -23,7 +23,7 @@ class TyboInstallGenerator < Rails::Generators::Base | |
| 23 23 |  | 
| 24 24 | 
             
              def pin_js_dependencies
         | 
| 25 25 | 
             
                run "./bin/importmap pin tom-select --download"
         | 
| 26 | 
            -
                run "./bin/importmap pin @tymate/ | 
| 26 | 
            +
                run "./bin/importmap pin @tymate/tybo_js"
         | 
| 27 27 | 
             
              end
         | 
| 28 28 |  | 
| 29 29 | 
             
              def create_routes
         | 
| @@ -39,7 +39,7 @@ class TyboInstallGenerator < Rails::Generators::Base | |
| 39 39 |  | 
| 40 40 | 
             
              def add_javascript_controllers
         | 
| 41 41 | 
             
                inject_into_file 'app/javascript/controllers/application.js', after: "const application = Application.start()\n" do 
         | 
| 42 | 
            -
                  "import { Dropdown, Flash, SearchForm, TsSearch, TsSelect } from \"@tymate/ | 
| 42 | 
            +
                  "import { Dropdown, Flash, SearchForm, TsSearch, TsSelect } from \"@tymate/tybo_js\"\n"
         | 
| 43 43 | 
             
                end
         | 
| 44 44 |  | 
| 45 45 | 
             
                inject_into_file 'app/javascript/controllers/application.js', before: "export { application }" do 
         | 
| @@ -9,6 +9,7 @@ | |
| 9 9 | 
             
                        'filters' => find_existing_translation('filters', locale),
         | 
| 10 10 | 
             
                        'show' => find_existing_translation('show', locale),
         | 
| 11 11 | 
             
                        'to' => find_existing_translation('to', locale),
         | 
| 12 | 
            +
                        'export_btn' => find_existing_translation('export_btn', locale),
         | 
| 12 13 | 
             
                        'confirm_delete' => find_existing_translation('confirm_delete', locale),
         | 
| 13 14 | 
             
                        'record' => {
         | 
| 14 15 | 
             
                          'created' => find_existing_translation('created', locale),
         | 
    
        data/lib/tybo/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: tybo
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.3.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Michel Delpierre
         | 
| 8 8 | 
             
            - Julien Camblan
         | 
| 9 | 
            -
            autorequire: | 
| 9 | 
            +
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2023- | 
| 12 | 
            +
            date: 2023-10-10 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: rails
         | 
| @@ -17,20 +17,14 @@ dependencies: | |
| 17 17 | 
             
                requirements:
         | 
| 18 18 | 
             
                - - "~>"
         | 
| 19 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version: '7 | 
| 21 | 
            -
                - - ">="
         | 
| 22 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 23 | 
            -
                    version: 7.0.4.3
         | 
| 20 | 
            +
                    version: '7'
         | 
| 24 21 | 
             
              type: :runtime
         | 
| 25 22 | 
             
              prerelease: false
         | 
| 26 23 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 27 24 | 
             
                requirements:
         | 
| 28 25 | 
             
                - - "~>"
         | 
| 29 26 | 
             
                  - !ruby/object:Gem::Version
         | 
| 30 | 
            -
                    version: '7 | 
| 31 | 
            -
                - - ">="
         | 
| 32 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: 7.0.4.3
         | 
| 27 | 
            +
                    version: '7'
         | 
| 34 28 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 35 29 | 
             
              name: puma
         | 
| 36 30 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -287,7 +281,7 @@ licenses: | |
| 287 281 | 
             
            - MIT
         | 
| 288 282 | 
             
            metadata:
         | 
| 289 283 | 
             
              homepage_uri: https://rubygems.org/gems/tybo
         | 
| 290 | 
            -
            post_install_message: | 
| 284 | 
            +
            post_install_message:
         | 
| 291 285 | 
             
            rdoc_options: []
         | 
| 292 286 | 
             
            require_paths:
         | 
| 293 287 | 
             
            - lib
         | 
| @@ -302,8 +296,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 302 296 | 
             
                - !ruby/object:Gem::Version
         | 
| 303 297 | 
             
                  version: '0'
         | 
| 304 298 | 
             
            requirements: []
         | 
| 305 | 
            -
            rubygems_version: 3. | 
| 306 | 
            -
            signing_key: | 
| 299 | 
            +
            rubygems_version: 3.4.10
         | 
| 300 | 
            +
            signing_key:
         | 
| 307 301 | 
             
            specification_version: 4
         | 
| 308 302 | 
             
            summary: A tailwind custom admin engine for Ruby on Rails
         | 
| 309 303 | 
             
            test_files: []
         |