c80_map_floors 0.2.0.8 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 12562e1d29ffa3aa03573adbf587cfa7462dedaf
4
- data.tar.gz: 69c9b326a50ef540f6d1da7a44dfc9707bf0a2d9
3
+ metadata.gz: 6203902100f1bcf658b845977cb33e441d462c79
4
+ data.tar.gz: b105046880ac029a1c8e7304dcb865a50ff7f646
5
5
  SHA512:
6
- metadata.gz: ecc52260192c12dfdf97c52526bdbfab6d00d3ae879c706d25dd0d8a88cdf8295c1a74e1bf40dc81cf61cd723a36dc44a189a8b3d60ef1aebed6576e952d5abe
7
- data.tar.gz: d3c6c6639bd3ebac4dbfa4cc2c9fff78be474484654e49531b5ae3edfcd9cc2d36126a6bac8d03d28025773cd792973213f1e4f59ea4b0ec27f32e0fa1e684f3
6
+ metadata.gz: e6e836632b002192d876ffab35015ed9aed1492d0177833963be0d4d2c87866032a1870d1442e53bb5324c2e58b77fb8caa6f27f19b84a9587c6285e6ca1a644
7
+ data.tar.gz: ec59d93f87393df58149a5d549b52247f5abf19326a4ef7152aba6a2ffe13ea50f8962497c87ac8ed4d3697d4eb1e2a9de4fc443f6ce6aa87f088a4ba7ebf093
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  /.idea
11
11
  *.gem
12
+ *.log
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
data/Gemfile CHANGED
@@ -2,3 +2,13 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in c80_map_floors.gemspec
4
4
  gemspec
5
+
6
+ group :development, :test do
7
+
8
+ gem 'rspec-rails'
9
+ gem 'guard'
10
+ gem 'guard-rspec'
11
+ gem 'guard-zeus'
12
+ gem 'logging'
13
+
14
+ end
data/Guardfile ADDED
@@ -0,0 +1,59 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app lib config test spec features) \
6
+ # .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+
18
+ guard 'zeus' do
19
+ require 'ostruct'
20
+
21
+ rspec = OpenStruct.new
22
+ rspec.spec_dir = 'spec'
23
+ rspec.spec = ->(m) { "#{rspec.spec_dir}/#{m}_spec.rb" }
24
+ rspec.spec_helper = "#{rspec.spec_dir}/spec_helper.rb"
25
+
26
+ # matchers
27
+ rspec.spec_files = /^#{rspec.spec_dir}\/.+_spec\.rb$/
28
+
29
+ # Ruby apps
30
+ ruby = OpenStruct.new
31
+ ruby.lib_files = /^(lib\/.+)\.rb$/
32
+
33
+ watch(rspec.spec_files)
34
+ watch(rspec.spec_helper) { rspec.spec_dir }
35
+ watch(ruby.lib_files) { |m| rspec.spec.call(m[1]) }
36
+
37
+ # Rails example
38
+ rails = OpenStruct.new
39
+ rails.app_files = /^app\/(.+)\.rb$/
40
+ rails.views_n_layouts = /^app\/(.+(?:\.erb|\.haml|\.slim))$/
41
+ rails.controllers = %r{^app/controllers/(.+)_controller\.rb$}
42
+
43
+ watch(rails.app_files) { |m| rspec.spec.call(m[1]) }
44
+ watch(rails.views_n_layouts) { |m| rspec.spec.call(m[1]) }
45
+ watch(rails.controllers) do |m|
46
+ [
47
+ # rspec.spec.call("routing/#{m[1]}_routing"),
48
+ rspec.spec.call("controllers/#{m[1]}_controller"),
49
+ # rspec.spec.call("acceptance/#{m[1]}")
50
+ ]
51
+ end
52
+
53
+ # TestUnit
54
+ # watch(%r|^test/(.*)_test\.rb$|)
55
+ # watch(%r|^lib/(.*)([^/]+)\.rb$|) { |m| "test/#{m[1]}test_#{m[2]}.rb" }
56
+ # watch(%r|^test/test_helper\.rb$|) { "test" }
57
+ # watch(%r|^app/controllers/(.*)\.rb$|) { |m| "test/functional/#{m[1]}_test.rb" }
58
+ # watch(%r|^app/models/(.*)\.rb$|) { |m| "test/unit/#{m[1]}_test.rb" }
59
+ end
@@ -22,7 +22,7 @@ var _ = function (input, o) {
22
22
 
23
23
  configure(this, {
24
24
  minChars: 2,
25
- maxItems: 10,
25
+ maxItems: 100,
26
26
  autoFirst: false,
27
27
  data: _.DATA,
28
28
  filter: _.FILTER_CONTAINS,
@@ -26,6 +26,10 @@
26
26
  padding: 0;
27
27
  margin: 0;
28
28
  background: #fff;
29
+
30
+ /*20170524: my patch*/
31
+ max-height: 410px;
32
+ overflow-y: auto;
29
33
  }
30
34
 
31
35
  .awesomplete > ul:empty {
@@ -4,6 +4,8 @@ module C80MapFloors
4
4
  # noinspection RubyResolve
5
5
  class AjaxController < ApplicationController
6
6
 
7
+ include AjaxHelper
8
+
7
9
  def map_edit_buttons
8
10
  # puts "<AjaxController.map_edit_buttons> #{params}"
9
11
  end
@@ -129,71 +131,10 @@ module C80MapFloors
129
131
 
130
132
  result = SearchResult.new
131
133
 
132
- # 1. Находим категорию, title которой равен строке.
133
- cats = ::Category.where(:name => params[:stext])
134
- if cats.count > 0
135
- # работаем только с первой попавшейся категорией
136
- cat = cats[0]
137
-
138
- # если у категории имеются связанные магазины
139
- if cat.leasers.count > 0
140
-
141
- # переберём их
142
- cat.leasers.each do |shop|
143
-
144
- # добираемся до Rent::Area каждого магазина
145
- if shop.areas.count > 0
146
-
147
- shop.areas.each do |rent_area|
148
-
149
- # если у Rent::Area имеется связанный полигон
150
- if rent_area.area.present? # has_one
151
-
152
- map_area = rent_area.area
153
-
154
- # NOTE:: теперь, зная C80MapFloors::Area.id, находим id полигона этажа и id полигона здания
155
-
156
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> add_area: #{map_area.id}"
157
- # result[:areas] << rent_area.area.id
158
- result.add_area(map_area.id)
159
-
160
- # посмотрим, имеется ли у полигона площади родители
161
- if map_area.floor.present?
162
-
163
- map_floor = map_area.floor
164
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> add_floor: #{map_floor.id}"
165
- result.add_floor(map_floor.id)
166
-
167
- if map_floor.map_building.present?
168
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> add_building: #{map_floor.map_building}"
169
- result.add_building(map_floor.map_building.id)
170
- else
171
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> У Rent::Area нет родителей: #{rent_area.name}"
172
- end
173
-
174
- else
175
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> У полигона площади нет родителей: #{rent_area.name}"
176
- end
177
-
178
-
179
- else
180
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> У Rent::Area нет полигона: #{rent_area.name}"
181
- end
182
-
183
- end
184
-
185
- else
186
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> У магазина нет Rent::Area: #{shop.name}"
187
- end
188
-
189
- end
190
-
191
- else
192
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> У этой категории нет магазинов: #{params[:stext]}"
193
- end
194
-
134
+ if params[:stext][' (магазин)']
135
+ find_areas_by_shop!(result, params[:stext])
195
136
  else
196
- Rails.logger.debug "[TRACE] <AjaxController.find_shops> Нет категории с таким именем = #{params[:stext]}"
137
+ find_areas_by_category!(result, params[:stext])
197
138
  end
198
139
 
199
140
  Rails.logger.debug "[TRACE] <AjaxController.find_shops> Отправляем ответ: result = #{result.data}"
@@ -1,6 +1,6 @@
1
1
  module C80MapFloors
2
2
  class ApplicationController < ActionController::Base
3
3
  protect_from_forgery with: :exception
4
- before_filter :authenticate_admin_user!
4
+ before_action :authenticate_admin_user!
5
5
  end
6
6
  end
@@ -0,0 +1,138 @@
1
+ module C80MapFloors
2
+ module AjaxHelper
3
+
4
+ def find_areas_by_category!(result, stext)
5
+ # 1. Находим категорию, title которой равен строке.
6
+ cats = ::Category.where(:name => stext)
7
+ if cats.count > 0
8
+ # работаем только с первой попавшейся категорией
9
+ cat = cats[0]
10
+
11
+ # если у категории имеются связанные магазины
12
+ if cat.leasers.count > 0
13
+
14
+ # переберём их
15
+ cat.leasers.each do |shop|
16
+
17
+ # добираемся до Rent::Area каждого магазина
18
+ if shop.areas.count > 0
19
+
20
+ shop.areas.each do |rent_area|
21
+
22
+ # если у Rent::Area имеется связанный полигон
23
+ if rent_area.area.present? # has_one
24
+
25
+ map_area = rent_area.area
26
+
27
+ # NOTE:: теперь, зная C80MapFloors::Area.id, находим id полигона этажа и id полигона здания
28
+
29
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> add_area: #{map_area.id}"
30
+ # result[:areas] << rent_area.area.id
31
+ result.add_area(map_area.id)
32
+
33
+ # посмотрим, имеется ли у полигона площади родители
34
+ if map_area.floor.present?
35
+
36
+ map_floor = map_area.floor
37
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> add_floor: #{map_floor.id}"
38
+ result.add_floor(map_floor.id)
39
+
40
+ if map_floor.map_building.present?
41
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> add_building: #{map_floor.map_building}"
42
+ result.add_building(map_floor.map_building.id)
43
+ else
44
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> У Rent::Area нет родителей: #{rent_area.name}"
45
+ end
46
+
47
+ else
48
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> У полигона площади нет родителей: #{rent_area.name}"
49
+ end
50
+
51
+
52
+ else
53
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> У Rent::Area нет полигона: #{rent_area.name}"
54
+ end
55
+
56
+ end
57
+
58
+ else
59
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> У магазина нет Rent::Area: #{shop.name}"
60
+ end
61
+
62
+ end
63
+
64
+ else
65
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> У этой категории нет магазинов: #{stext}"
66
+ end
67
+
68
+ else
69
+ Rails.logger.debug "[TRACE] <AjaxController.find_shops> Нет категории с таким именем = #{stext}"
70
+ end
71
+ end
72
+
73
+ def find_areas_by_shop!(result, stext)
74
+ shop_name = stext.gsub(' (магазин)','')
75
+ shops = ::Leaser.where(:name => shop_name)
76
+ Rails.logger.debug "[TRACE] <AjaxHelper> shops.count = #{shops.count}"
77
+
78
+ if shops.count > 0
79
+ # работаем только с первым попавшимся магазином
80
+ shop = shops[0]
81
+
82
+ _process_shop_areas!(result, shop)
83
+
84
+ end
85
+
86
+ end
87
+
88
+ private
89
+
90
+ def _process_shop_areas!(result, shop)
91
+ # добираемся до Rent::Area каждого магазина
92
+ if shop.areas.count > 0
93
+
94
+ shop.areas.each do |rent_area|
95
+
96
+ # если у Rent::Area имеется связанный полигон
97
+ if rent_area.area.present? # has_one
98
+
99
+ map_area = rent_area.area
100
+
101
+ # NOTE:: теперь, зная C80MapFloors::Area.id, находим id полигона этажа и id полигона здания
102
+
103
+ Rails.logger.debug "[TRACE] <AjaxHelper._process_shop_areas!> add_area: #{map_area.id}"
104
+ # result[:areas] << rent_area.area.id
105
+ result.add_area(map_area.id)
106
+
107
+ # посмотрим, имеется ли у полигона площади родители
108
+ if map_area.floor.present?
109
+
110
+ map_floor = map_area.floor
111
+ Rails.logger.debug "[TRACE] <AjaxHelper._process_shop_areas!> add_floor: #{map_floor.id}"
112
+ result.add_floor(map_floor.id)
113
+
114
+ if map_floor.map_building.present?
115
+ Rails.logger.debug "[TRACE] <AjaxHelper._process_shop_areas!> add_building: #{map_floor.map_building}"
116
+ result.add_building(map_floor.map_building.id)
117
+ else
118
+ Rails.logger.debug "[TRACE] <AjaxHelper._process_shop_areas!> У Rent::Area нет родителей: #{rent_area.name}"
119
+ end
120
+
121
+ else
122
+ Rails.logger.debug "[TRACE] <AjaxHelper._process_shop_areas!> У полигона площади нет родителей: #{rent_area.name}"
123
+ end
124
+
125
+
126
+ else
127
+ Rails.logger.debug "[TRACE] <AjaxHelper._process_shop_areas!> У Rent::Area нет полигона: #{rent_area.name}"
128
+ end
129
+
130
+ end
131
+
132
+ else
133
+ Rails.logger.debug "[TRACE] <AjaxHelper._process_shop_areas!> У магазина нет Rent::Area: #{shop.name}"
134
+ end
135
+ end
136
+
137
+ end
138
+ end
@@ -24,5 +24,24 @@ module C80MapFloors
24
24
 
25
25
  end
26
26
 
27
+ # рендер поисковой формы, которая видна сверху поцентру в слое над картой
28
+ # noinspection RubyResolve
29
+ def render_search_input
30
+
31
+ # NOTE:: названия всех категорий в алфавитном порядке через запятую в одну строку возьмём из HOST-приложения
32
+ cl = ::Category.filled_cats.map { |c| c.name }.join(', ')
33
+
34
+ # NOTE:: названия всех магазинов, у которых есть площадь, через запятую в одну строку возьмём из HOST-приложения
35
+ sl = ::Leaser.assigned_to_areas.map { |e| e }.join(' (магазин), ')
36
+ sl = "#{sl} (магазин)" # про последний элемент не забудем
37
+
38
+ render :partial => 'c80_map_floors/shared/map_row/search_gui',
39
+ :locals => {
40
+ # categories_list: categories_list
41
+ categories_list: [cl, sl].join(', ')
42
+ }
43
+
44
+ end
45
+
27
46
  end
28
47
  end
@@ -30,7 +30,7 @@
30
30
  </div>
31
31
 
32
32
  <div class="container" id="search_container">
33
- <%= render_search_gui %>
33
+ <%= render_search_input %>
34
34
  </div>
35
35
 
36
36
  <div class="container" id="ui">
@@ -3,7 +3,7 @@
3
3
  <div id="search_gui">
4
4
  <form class="navbar-form" role="form">
5
5
  <div class="form-group">
6
- <input placeholder="Введите название товара, который вас интересует" class="form-control awesomplete" type="text" data-list="<%= categories_list %>">
6
+ <input placeholder="Введите название товара или магазина, который вас интересует" class="form-control awesomplete" type="text" data-list="<%= categories_list %>">
7
7
  </div>
8
8
  <button type="submit" class="btn btn-primary"><i class="fa fa-search"></i></button>
9
9
  </form>
data/bin/rails ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 4 gems installed from the root of your application.
3
+
4
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
5
+ ENGINE_PATH = File.expand_path('../../lib/c80_map_floors/engine', __FILE__)
6
+
7
+ # Set up gems listed in the Gemfile.
8
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
9
+ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
10
+
11
+ require 'rails/all'
12
+ require 'rails/engine/commands'
@@ -25,4 +25,12 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency 'bootstrap-sass', '~> 3.3.4'
26
26
  spec.add_dependency 'bootstrap-select-rails'
27
27
  spec.add_dependency 'historyjs-rails'
28
+ spec.add_development_dependency 'friendly_id'
29
+ spec.add_development_dependency 'babosa'
30
+ spec.add_development_dependency 'mysql2'
31
+ spec.add_development_dependency 'rails'
32
+ # spec.add_development_dependency 'rspec-rails'
33
+ # spec.add_development_dependency 'guard'
34
+ # spec.add_development_dependency 'guard-rspec'
35
+ # spec.add_development_dependency 'guard-zeus'
28
36
  end
data/custom_plan.rb ADDED
@@ -0,0 +1,11 @@
1
+ require 'zeus/rails'
2
+
3
+ class CustomPlan < Zeus::Rails
4
+
5
+ # def my_custom_command
6
+ # # see https://github.com/burke/zeus/blob/master/docs/ruby/modifying.md
7
+ # end
8
+
9
+ end
10
+
11
+ Zeus.plan = CustomPlan.new
@@ -1,3 +1,3 @@
1
1
  module C80MapFloors
2
- VERSION = '0.2.0.8'
2
+ VERSION = '0.2.1'
3
3
  end
data/zeus.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "command": "ruby -rubygems -r./custom_plan -eZeus.go",
3
+
4
+ "plan": {
5
+ "boot": {
6
+ "default_bundle": {
7
+ "test_environment": {
8
+ "test_helper": {"test": ["rspec", "testrb"]}
9
+ }
10
+ }
11
+ }
12
+ }
13
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: c80_map_floors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.8
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - C80609A
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-17 00:00:00.000000000 Z
11
+ date: 2017-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,62 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: friendly_id
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: babosa
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: mysql2
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
97
153
  description: Map + map editor
98
154
  email:
99
155
  - c080609a@gmail.com
@@ -102,9 +158,11 @@ extensions: []
102
158
  extra_rdoc_files: []
103
159
  files:
104
160
  - ".gitignore"
161
+ - ".rspec"
105
162
  - ".travis.yml"
106
163
  - CODE_OF_CONDUCT.md
107
164
  - Gemfile
165
+ - Guardfile
108
166
  - LICENSE.txt
109
167
  - README.md
110
168
  - Rakefile
@@ -168,9 +226,9 @@ files:
168
226
  - app/controllers/c80_map_floors/ajax_controller.rb
169
227
  - app/controllers/c80_map_floors/application_controller.rb
170
228
  - app/controllers/c80_map_floors/map_ajax_controller.rb
229
+ - app/helpers/c80_map_floors/ajax_helper.rb
171
230
  - app/helpers/c80_map_floors/application_helper.rb
172
231
  - app/helpers/c80_map_floors/model_floor_helper.rb
173
- - app/helpers/c80_map_floors/search_gui_helper.rb
174
232
  - app/models/c80_map_floors/area.rb
175
233
  - app/models/c80_map_floors/area_representator.rb
176
234
  - app/models/c80_map_floors/base_map_object.rb
@@ -203,10 +261,12 @@ files:
203
261
  - app/views/c80_map_floors/shared/map_row/_building_info_old.html.erb
204
262
  - app/views/c80_map_floors/shared/map_row/_search_gui.html.erb
205
263
  - bin/console
264
+ - bin/rails
206
265
  - bin/setup
207
266
  - bounding_box.jpg
208
267
  - c80_map_floors.gemspec
209
268
  - config/routes.rb
269
+ - custom_plan.rb
210
270
  - db/migrate/20161015190000_create_c80_map_floors_settings.rb
211
271
  - db/migrate/20161015190001_create_c80_map_floors_map_buildings.rb
212
272
  - db/migrate/20161015190002_create_c80_map_floors_areas.rb
@@ -223,6 +283,7 @@ files:
223
283
  - lib/integer.rb
224
284
  - lib/search_result.rb
225
285
  - map_padding_tuning.jpg
286
+ - zeus.json
226
287
  homepage: http://www.vorsa-park.ru
227
288
  licenses:
228
289
  - MIT
@@ -1,19 +0,0 @@
1
- module C80MapFloors
2
- module SearchGuiHelper
3
-
4
- # рендер поисковой формы, которая видна сверху поцентру в слое над картой
5
- # noinspection RubyResolve
6
- def render_search_gui
7
-
8
- # NOTE:: названия всех категорий в алфавитном порядке через запятую в одну строку возьмём из HOST-приложения
9
- categories_list = ::Category.filled_cats.map { |c| c.name }.join(', ')
10
-
11
- render :partial => 'c80_map_floors/shared/map_row/search_gui',
12
- :locals => {
13
- categories_list: categories_list
14
- }
15
-
16
- end
17
-
18
- end
19
- end