itsf_backend 1.1.2 → 1.1.3

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
  SHA1:
3
- metadata.gz: 18f35ac2c42493393330fe0ff6a04997eaaee8ea
4
- data.tar.gz: 76d992260163de8099aa176b45147c6aa3d2e91b
3
+ metadata.gz: 1dcf00b74666b710c157f92a724a63137d2f407e
4
+ data.tar.gz: a15219050c845c035cfaccdb021ebc60b61eeacc
5
5
  SHA512:
6
- metadata.gz: b0c144bd745fabcaa396c59da0453ac0f55121b7b247f4f093aa273044b90274b2384561ad8feb35436e25f65edfe772c1a1fd0decf932b2fe5d55b2224dce53
7
- data.tar.gz: ae26f645bbd6d8d2af2f555d235cbd801549bc4a3836b25b19f10a4cd10886221ff33df83ec72b52e2e7318a7d68d47aebcfac72240f5b6ee4d3d1e2da8581c4
6
+ metadata.gz: 16436d0ba231de75bdbe947320216a6ff03f4aa67ebb2b55dbdcdef4d2472682729fe05b96dfc53702ae9f6eba8f135760759a56aaf9ec9a3752363810bcb899
7
+ data.tar.gz: 68fbba8e9d36dc16709075da25760d74a6a524fa536fbfa714289336a63d5d084dabbfbef2447dc5858e7f2e620cab03880fa2edd1002903e466cd9da5c2957d
@@ -0,0 +1,16 @@
1
+ $ ->
2
+ $('.ui-autocomplete-input').each ->
3
+ element = $(this)
4
+ target = $(this).attr('data-source-url')
5
+
6
+ element.autocomplete
7
+ source: target
8
+ minLength: 2
9
+ html: true
10
+ open: (event, ui) ->
11
+ $('.ui-autocomplete').css 'z-index', 1000
12
+ return
13
+ create: ->
14
+ $(this).data('ui-autocomplete')._renderItem = (ul, item) ->
15
+ $("<li>").append("<span>" + item.title + "<br><small>" + item.subtitle + "</small></span>").appendTo ul
16
+ return
@@ -27,4 +27,6 @@
27
27
  @import "application/panel-footer-pagination.css.less";
28
28
  @import "application/panel-with-actions.css.less";
29
29
  @import "application/table-actions.css.less";
30
- @import "application/table-responsive.css.less";
30
+ @import "application/table-responsive.css.less";
31
+ @import "application/tab-with-nav.css.less";
32
+ @import "application/ui-autocomplete.css.less";
@@ -0,0 +1,7 @@
1
+ .tab-with-nav {
2
+ border: 1px solid lightgrey;
3
+ border-top: 0;
4
+ padding: 15px;
5
+ border-bottom-left-radius: 3px;
6
+ border-bottom-right-radius: 3px;
7
+ }
@@ -0,0 +1,8 @@
1
+ .ui-autocomplete {
2
+ max-height: 10em;
3
+ overflow-y: auto;
4
+ /* prevent horizontal scrollbar */
5
+ overflow-x: hidden;
6
+ /* add padding to account for vertical scrollbar */
7
+ padding-right: 20px;
8
+ }
@@ -1,4 +1,5 @@
1
1
  /*
2
+ *= require jquery-ui
2
3
  *= require itsf/backend/application
3
4
  *= require_tree ./itsf/backend/vendor
4
5
  */
@@ -0,0 +1,13 @@
1
+ module Concerns
2
+ module Form
3
+ module UiAutocomplete
4
+ extend ActiveSupport::Concern
5
+
6
+ def autocomplete(attribute, options = {})
7
+ options.reverse_merge!(url: -> { url_for(action: attribute, format: :json) })
8
+ url = options.delete(:url)
9
+ input attribute, as: :string, input_html: { class: 'ui-autocomplete-input', :'data-source-url' => url.call }
10
+ end
11
+ end
12
+ end
13
+ end
@@ -13,12 +13,15 @@
13
13
  - else
14
14
  = kontroller.resource_class.count
15
15
  %td.text-right
16
- = link_to({ controller: kontroller.name.underscore.gsub('_controller', ''), action: 'new' }, id: "link-to-#{kontroller.name.underscore.gsub('_controller', '').gsub(/[\/_]/, '-')}-new", class: 'btn btn-success btn-xs btn-responsive') do
17
- %span.glyphicon.glyphicon-plus
18
- %span.btn-text= t('.new')
19
- = link_to({ controller: kontroller.name.underscore.gsub('_controller', '') }, id: "link-to-#{kontroller.name.underscore.gsub('_controller', '').gsub(/[\/_]/, '-')}-index" ,class: 'btn btn-primary btn-xs btn-responsive') do
20
- %span.glyphicon.glyphicon-eye-open
21
- %span.btn-text= t('.view')
16
+ - begin
17
+ = link_to({ controller: kontroller.name.underscore.gsub('_controller', ''), action: 'new' }, id: "link-to-#{kontroller.name.underscore.gsub('_controller', '').gsub(/[\/_]/, '-')}-new", class: 'btn btn-success btn-xs btn-responsive') do
18
+ %span.glyphicon.glyphicon-plus
19
+ %span.btn-text= t('.new')
20
+
21
+ = link_to({ controller: kontroller.name.underscore.gsub('_controller', '') }, id: "link-to-#{kontroller.name.underscore.gsub('_controller', '').gsub(/[\/_]/, '-')}-index" ,class: 'btn btn-primary btn-xs btn-responsive') do
22
+ %span.glyphicon.glyphicon-eye-open
23
+ %span.btn-text= t('.view')
24
+ - rescue ActionController::UrlGenerationError
22
25
 
23
26
 
24
27
  .panel.panel-default
@@ -1,2 +1,8 @@
1
1
  - resource_class.attribute_names.delete_if { |name| Itsf::Backend.hidden_attributes_for[:edit].include?(name.to_sym) }.each do |name|
2
- = form.input name
2
+ - if form.object.class.columns_hash[name].type == :hstore
3
+ = simple_fields_for name do |hstore_form|
4
+ - if form.object.send(name).respond_to?(:each)
5
+ - form.object.send(name).each do |key, value|
6
+ = hstore_form.input key, input_html: { value: value }
7
+ - else
8
+ = form.input name
@@ -6,15 +6,16 @@
6
6
  - controllers = engine.to_s.gsub('::Engine', '::Configuration').constantize.registered_controllers
7
7
  - if controllers.respond_to?(:call)
8
8
  - controllers = controllers.call
9
- - controllers.each do |kontroller|
10
- - Rails.logger.info kontroller.inspect
9
+ - controllers.each do |kontroller|
11
10
  - resource_klass = kontroller.resource_class
12
11
  - if !Itsf::Backend.features?(:pundit) || policy(resource_klass).index?
13
12
  %li{ class: (kontroller == controller.class ? 'active' : nil) }
14
- = link_to(send(engine.engine_name).url_for(controller: kontroller.controller_path)) do
15
- = resource_klass.model_name.human(count: :other)
16
- %span.label.label-default
17
- - if respond_to?(:current_user) && current_user.respond_to?(:last_sign_in_at) && resource_klass.respond_to?(:column_names) && resource_klass.column_names.include?('updated_at')
18
- = "#{resource_klass.where("updated_at > ?", current_user.last_sign_in_at).count}/#{resource_klass.count}"
19
- - else
20
- = resource_klass.count
13
+ - begin
14
+ = link_to(send(engine.engine_name).url_for(controller: "/#{kontroller.controller_path}")) do
15
+ = resource_klass.model_name.human(count: :other)
16
+ %span.label.label-default
17
+ - if respond_to?(:current_user) && current_user.respond_to?(:last_sign_in_at) && resource_klass.respond_to?(:column_names) && resource_klass.column_names.include?('updated_at')
18
+ = "#{resource_klass.where("updated_at > ?", current_user.last_sign_in_at).count}/#{resource_klass.count}"
19
+ - else
20
+ = resource_klass.count
21
+ - rescue ActionController::UrlGenerationError
@@ -0,0 +1,4 @@
1
+ require 'simple_form/form_builder'
2
+
3
+ require 'concerns/form/ui_autocomplete'
4
+ SimpleForm::FormBuilder.send(:include, Concerns::Form::UiAutocomplete)
@@ -1,5 +1,5 @@
1
1
  module Itsf
2
2
  module Backend
3
- VERSION = '1.1.2'
3
+ VERSION = '1.1.3'
4
4
  end
5
5
  end
data/lib/itsf_backend.rb CHANGED
@@ -10,6 +10,7 @@ require 'haml-rails'
10
10
  require 'pundit'
11
11
  require 'rails-i18n'
12
12
  require 'less-rails'
13
+ require 'rails_rad'
13
14
  require 'resource_renderer'
14
15
  require 'responders'
15
16
  require 'route_translator'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itsf_backend
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roberto Vasquez Angel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-23 00:00:00.000000000 Z
11
+ date: 2016-02-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -464,6 +464,7 @@ files:
464
464
  - app/assets/javascripts/itsf/backend/application/itsf-logo.coffee
465
465
  - app/assets/javascripts/itsf/backend/application/pagination-size.coffee
466
466
  - app/assets/javascripts/itsf/backend/application/table-column-sorting.coffee
467
+ - app/assets/javascripts/itsf/backend/application/ui_autocomplete.js.coffee
467
468
  - app/assets/javascripts/itsf/backend/vendor/jQueryRotate.js
468
469
  - app/assets/javascripts/itsf/backend/vendor/jquery.dragtable.js
469
470
  - app/assets/javascripts/itsf/backend/vendor/jquery.redirect.js
@@ -485,8 +486,10 @@ files:
485
486
  - app/assets/stylesheets/itsf/backend/application/navigation-logo.css.less
486
487
  - app/assets/stylesheets/itsf/backend/application/panel-footer-pagination.css.less
487
488
  - app/assets/stylesheets/itsf/backend/application/panel-with-actions.css.less
489
+ - app/assets/stylesheets/itsf/backend/application/tab-with-nav.css.less
488
490
  - app/assets/stylesheets/itsf/backend/application/table-actions.css.less
489
491
  - app/assets/stylesheets/itsf/backend/application/table-responsive.css.less
492
+ - app/assets/stylesheets/itsf/backend/application/ui-autocomplete.css.less
490
493
  - app/assets/stylesheets/itsf/backend/bootstrap_and_overrides.css.less
491
494
  - app/assets/stylesheets/itsf/backend/vendor/jquery.dragtable.css
492
495
  - app/assets/stylesheets/itsf/backend/vendor/timeline.min.css
@@ -517,6 +520,7 @@ files:
517
520
  - app/extensions/concerns/resource_row/published_extensions.rb
518
521
  - app/extensions/concerns/resource_row/timestamp_extensions.rb
519
522
  - app/extensions/concerns/simple_form_form_builder_extensions.rb
523
+ - app/forms/concerns/form/ui_autocomplete.rb
520
524
  - app/helpers/itsf/backend/application_helper.rb
521
525
  - app/inputs/fake_checkbox_input.rb
522
526
  - app/inputs/fake_text_input.rb
@@ -563,6 +567,7 @@ files:
563
567
  - config/initializers/extend_object.rb
564
568
  - config/initializers/extend_ransack_form_builder.rb
565
569
  - config/initializers/extend_simple_form_form_builder.rb
570
+ - config/initializers/simple_form_extensions.rb
566
571
  - config/locales/de.yml
567
572
  - config/locales/en.yml
568
573
  - config/rbac.yml