c80_map_floors 0.1.0.21 → 0.1.0.22
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/buttons/button_back_to_map.js +2 -0
- data/app/assets/javascripts/map_objects/area.js +1 -1
- data/app/assets/javascripts/src/main.js +13 -107
- data/app/assets/javascripts/src/state_controller.js +10 -14
- data/app/assets/javascripts/view/building_info/building_info.js +103 -1
- data/app/assets/javascripts/view/building_info/mobj_info_parser.js +2 -1
- data/app/assets/stylesheets/ui/tabs_js.scss +15 -0
- data/lib/c80_map_floors/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c19b3fe1da442d13d1f54bfb641b14b63b8573a
|
4
|
+
data.tar.gz: 3c479c6827f66281d2590d47e77553623dbe04ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4529e548eb9038680402dddf8b8d9a796c70879929acda5224a3dd78a150a00047678cce8a5bd26984b45dd184a133fe3500d342322623a9198e8783cc3d6d56
|
7
|
+
data.tar.gz: b5d3df1cec7ff3fd3853a524b2970b44ced96bcd528369f1fa06afe2a1b3188f81b3151a159683fa5de8b021db317049af8d05dccf1f6b01ee90b39e946bbedf
|
@@ -8,6 +8,7 @@ function BackToMapButton() {
|
|
8
8
|
var _cnt = null;
|
9
9
|
var _btn = null;
|
10
10
|
|
11
|
+
// вспомогательно: относительно окна выравниваем кнопку
|
11
12
|
var _$building_info = null;
|
12
13
|
|
13
14
|
var _onClick = function () {
|
@@ -48,6 +49,7 @@ function BackToMapButton() {
|
|
48
49
|
_btn.on('click', _onClick);
|
49
50
|
_cnt.append(_btn);
|
50
51
|
|
52
|
+
// фиксируем вспомогательный элемент
|
51
53
|
_$building_info = $('.building_info');
|
52
54
|
|
53
55
|
};
|
@@ -130,7 +130,7 @@ function Area() {
|
|
130
130
|
|
131
131
|
// optimisation
|
132
132
|
var timeoutEnter = function () {
|
133
|
-
_map.showAreaInfo(_this._options
|
133
|
+
_map.showAreaInfo(_this._options, _this._options["parent_floor_json"]);
|
134
134
|
_map.setMode('view_area');
|
135
135
|
};
|
136
136
|
|
@@ -44,7 +44,7 @@ var InitMap = function (params) {
|
|
44
44
|
var Map = function () {
|
45
45
|
var self = this;
|
46
46
|
|
47
|
-
self.debug =
|
47
|
+
self.debug = false;
|
48
48
|
self.o = {
|
49
49
|
source: 'locations.json', // data
|
50
50
|
height: 400, // viewbox height, pixels
|
@@ -130,6 +130,13 @@ var InitMap = function (params) {
|
|
130
130
|
self.o.deeplinking = false;
|
131
131
|
}*/
|
132
132
|
|
133
|
+
// инициализиуем класс, занимающийся отображением данных о здании\этаже\площади
|
134
|
+
self.building_info_klass = new BuildingInfo({
|
135
|
+
onFloorTabChange: function (floor_id) {
|
136
|
+
self.current_building.enterFloor(floor_id); //#-> только с помощью клика по табам можно войти на Этаж
|
137
|
+
}
|
138
|
+
});
|
139
|
+
|
133
140
|
if (typeof self.o.source === 'string') {
|
134
141
|
// Loading .json file with AJAX
|
135
142
|
$.getJSON(self.o.source, function (data) { // Success
|
@@ -290,13 +297,6 @@ var InitMap = function (params) {
|
|
290
297
|
// проверим, всё ли уместилось
|
291
298
|
self.ivalidateViewArea();
|
292
299
|
|
293
|
-
// инициализиуем класс, занимающийся отображением данных о здании\этаже\площади
|
294
|
-
self.building_info_klass = new BuildingInfo({
|
295
|
-
onFloorTabChange: function (floor_id) {
|
296
|
-
self.current_building.enterFloor(floor_id); //#-> только с помощью клика по табам можно войти на Этаж
|
297
|
-
}
|
298
|
-
});
|
299
|
-
|
300
300
|
// инициализируем класс, обслуживающий поиск
|
301
301
|
self.search_gui_klass = new SearchGUI(self);
|
302
302
|
|
@@ -329,8 +329,8 @@ var InitMap = function (params) {
|
|
329
329
|
// т.е. меняем масштаб
|
330
330
|
if (self.mark_virgin) {
|
331
331
|
// рассчитаем масштаб, при котором можно вписать главный прямоугольник карты в прямоугольник рабочей области
|
332
|
-
var scaleX = self.calcScale(self.o.mapwidth*0.
|
333
|
-
var scaleY = self.calcScale(self.o.mapheight*0.
|
332
|
+
var scaleX = self.calcScale(self.o.mapwidth*0.05, self.o.mapwidth *.95, self.X10, self.X20);
|
333
|
+
var scaleY = self.calcScale(self.o.mapheight*0.05, self.o.mapheight *.95, self.Y10, self.Y20);
|
334
334
|
var scale = (scaleX < scaleY) ? scaleX : scaleY;
|
335
335
|
self.scale = scale; /* NOTE:: вызывается во время window resize */
|
336
336
|
}
|
@@ -728,7 +728,6 @@ var InitMap = function (params) {
|
|
728
728
|
|
729
729
|
var _$m = $("#map_wrapper");
|
730
730
|
var _$b = $('.container');//$('footer .container');
|
731
|
-
var $building_info = $('.building_info'); // "layouts/shared/map_row/building_info"
|
732
731
|
var $area_order_button = $('.area_order_button');
|
733
732
|
var $container_buttons = $('#container_buttons');
|
734
733
|
var _is_debug_drawn = false;
|
@@ -756,7 +755,7 @@ var InitMap = function (params) {
|
|
756
755
|
self.Y20 = _$m.height();
|
757
756
|
|
758
757
|
// позиционируем элементы
|
759
|
-
|
758
|
+
self.building_info_klass.set_left(self.X2);
|
760
759
|
$area_order_button.css("left", self.X2 + "px");
|
761
760
|
if (self.container) $container_buttons.css("margin-top", (self.container.height() -10) + "px");
|
762
761
|
|
@@ -1373,102 +1372,9 @@ var InitMap = function (params) {
|
|
1373
1372
|
//if (self.minimap) self.minimap.update(x, y);
|
1374
1373
|
};
|
1375
1374
|
|
1376
|
-
// показать инфо о
|
1377
|
-
self.showBuildingInfo_old = function (rent_building_hash) {
|
1378
|
-
//console.log("<main.showBuildingInfo> Показать информацию о Rent-здании с id = " + rent_building_hash.id);
|
1379
|
-
|
1380
|
-
//"rent_building_hash": {
|
1381
|
-
// "id": 2,
|
1382
|
-
// "title": "Здание 2",
|
1383
|
-
// "props": {
|
1384
|
-
// "square": "1234 кв.м.",
|
1385
|
-
// "square_free": "124 кв. м",
|
1386
|
-
// "floor_height": "124 кв. м",
|
1387
|
-
// "column_step": "2 м",
|
1388
|
-
// "gate_type": "распашные",
|
1389
|
-
// "communications": "Интернет, электричество, водоснабжение",
|
1390
|
-
// "price": "от 155 руб/кв.м в месяц"
|
1391
|
-
// }
|
1392
|
-
|
1393
|
-
if (rent_building_hash.id == undefined) {
|
1394
|
-
$building_info.css('display','none');
|
1395
|
-
} else {
|
1396
|
-
$building_info.css('display','block');
|
1397
|
-
$building_info.find("h2").text(rent_building_hash["title"]);
|
1398
|
-
|
1399
|
-
var v, $ili, p;
|
1400
|
-
for (p in rent_building_hash["props"]) {
|
1401
|
-
|
1402
|
-
v = rent_building_hash["props"][p];
|
1403
|
-
$ili = $building_info.find("#" + p);
|
1404
|
-
$ili.find('span').text(v);
|
1405
|
-
//console.log("."+v+".");
|
1406
|
-
|
1407
|
-
// Не показывать пользователю карты незаполненные поля
|
1408
|
-
var li_css_display = 'block';
|
1409
|
-
if (v == '' || v == '-1' || v === 'null' || v == null) {
|
1410
|
-
li_css_display = 'none';
|
1411
|
-
}
|
1412
|
-
$ili.css('display',li_css_display);
|
1413
|
-
|
1414
|
-
|
1415
|
-
}
|
1416
|
-
|
1417
|
-
$building_info.find("#square_free").css('height', 'auto');
|
1418
|
-
}
|
1419
|
-
};
|
1420
|
-
|
1421
|
-
// TODO:: показать инфо о просматриваемой площади (это код, который остался без изменений от c80_map)
|
1375
|
+
// показать инфо о просматриваемой площади
|
1422
1376
|
self.showAreaInfo = function (area_json, parent_floor_json) {
|
1423
|
-
|
1424
|
-
|
1425
|
-
// так было в c80_map
|
1426
|
-
//"area_hash": {
|
1427
|
-
// "id": 2,
|
1428
|
-
// "title": "Площадь 2.12",
|
1429
|
-
// "is_free": false,
|
1430
|
-
// "props": {
|
1431
|
-
// "square": "100 кв.м.",
|
1432
|
-
// "floor_height": "6 кв. м",
|
1433
|
-
// "column_step": "2 м",
|
1434
|
-
// "gate_type": "распашные",
|
1435
|
-
// "communications": "Интернет, электричество, водоснабжение",
|
1436
|
-
// "price": "от 155 руб/кв.м в месяц"
|
1437
|
-
// }
|
1438
|
-
|
1439
|
-
// так стало в c80_map_floors
|
1440
|
-
//"rent_building_hash": {
|
1441
|
-
// "id": 2,
|
1442
|
-
// "title": "Здание 2",
|
1443
|
-
// "props": {
|
1444
|
-
// "square": "1234 кв.м.",
|
1445
|
-
// "square_free": "124 кв. м",
|
1446
|
-
// "floor_height": "6 кв. м",
|
1447
|
-
// "column_step": "2 м",
|
1448
|
-
// "gate_type": "распашные",
|
1449
|
-
// "communications": "Интернет, электричество, водоснабжение",
|
1450
|
-
// "price": "от 155 руб/кв.м в месяц"
|
1451
|
-
// }
|
1452
|
-
|
1453
|
-
if (area_json == null || area_json == undefined) {
|
1454
|
-
alert('[ERROR] У полигона нет привязки к Площади. Привяжите полигон площади.');
|
1455
|
-
} else {
|
1456
|
-
$building_info.find("h2").html("</span>" + area_json["title"] + "<span style='color:#D0B2B2;'> / " + parent_floor_json["title"]);
|
1457
|
-
|
1458
|
-
var v;
|
1459
|
-
for (var p in area_json["props"]) {
|
1460
|
-
v = area_json["props"][p];
|
1461
|
-
$building_info.find("#" + p).find('span').text(v);
|
1462
|
-
}
|
1463
|
-
|
1464
|
-
$building_info.find("#square_free").css('height', '0');
|
1465
|
-
|
1466
|
-
// заполняем данными ссылку 'Оставить заявку'
|
1467
|
-
var $a_make_order = $building_info.find('.c80_order_invoking_btn');
|
1468
|
-
$a_make_order.data('comment-text', 'Здравствуйте, оставляю заявку на площадь: ' + area_json["title"]);
|
1469
|
-
$a_make_order.data('subj-id', area_json["id"]);
|
1470
|
-
}
|
1471
|
-
|
1377
|
+
self.building_info_klass.show_area_info(area_json, parent_floor_json);
|
1472
1378
|
};
|
1473
1379
|
|
1474
1380
|
// перевод экранных координат в логические
|
@@ -15,7 +15,6 @@ function StateController() {
|
|
15
15
|
_this.map_removing = $('#map_removing');
|
16
16
|
_this.main_map = $('.main_map'); /*qwwqq*/
|
17
17
|
_this.svg_overlay = $('#svg_overlay');
|
18
|
-
_this.building_info = $('.building_info');
|
19
18
|
_this.area_order_button = $('.area_order_button');
|
20
19
|
_this.edit_button = $('.mapplic-edit-button');
|
21
20
|
_this.masked = $('#masked');
|
@@ -67,7 +66,6 @@ function StateController() {
|
|
67
66
|
if (_this.map_removing.length == 0) _this.map_removing = $('#map_removing');
|
68
67
|
if (_this.main_map.length == 0) _this.main_map = $('.main_map'); /*qwwqq*/
|
69
68
|
if (_this.svg_overlay.length == 0) _this.svg_overlay = $('#svg_overlay');
|
70
|
-
if (_this.building_info.length == 0) _this.building_info = $('.building_info');
|
71
69
|
if (_this.area_order_button.length == 0) _this.area_order_button = $('.area_order_button');
|
72
70
|
if (_this.masked.length == 0) _this.masked = $("#masked");
|
73
71
|
//</editor-fold>
|
@@ -158,12 +156,8 @@ function StateController() {
|
|
158
156
|
// скроем слой, в котором рисуем анимацию по маске, который нужен только когда внутри здания\площади
|
159
157
|
_this.masked.addClass('hiddn');
|
160
158
|
|
161
|
-
//
|
162
|
-
|
163
|
-
_this.building_info.data('init', _this.building_info.css("top"));
|
164
|
-
}
|
165
|
-
_this.building_info.css("top", -400);
|
166
|
-
_this.building_info.css("display", "block");
|
159
|
+
// спрячем инфу о здании
|
160
|
+
_map.building_info_klass.hide();
|
167
161
|
|
168
162
|
// скроем кнопку "забронировать площадь"
|
169
163
|
_this.area_order_button.css('display', 'none');
|
@@ -242,7 +236,9 @@ function StateController() {
|
|
242
236
|
//_this.main_map.css('opacity','0.7');
|
243
237
|
_this.svg_overlay.css('display', 'block');
|
244
238
|
|
245
|
-
|
239
|
+
// покажем инфо-панель
|
240
|
+
_map.building_info_klass.show();
|
241
|
+
|
246
242
|
_this.masked.addClass('hiddn');
|
247
243
|
|
248
244
|
_this.area_order_button.css('display', 'none');
|
@@ -293,7 +289,7 @@ function StateController() {
|
|
293
289
|
OpacityButtonsUtils.show(_this.edit_button);
|
294
290
|
|
295
291
|
// спрячем инфу о здании
|
296
|
-
|
292
|
+
_map.building_info_klass.hide();
|
297
293
|
|
298
294
|
// спрячем статус строку "вы создаёте полигон"
|
299
295
|
_this.map_creating.css('display', 'none');
|
@@ -322,7 +318,7 @@ function StateController() {
|
|
322
318
|
_this.masked.removeClass('hiddn');
|
323
319
|
|
324
320
|
// выдвигаем инфо-панель
|
325
|
-
|
321
|
+
_map.building_info_klass.show();
|
326
322
|
|
327
323
|
// TODO:: реализовать показ кнопки 'оставить заявку'
|
328
324
|
//<editor-fold desc="// спозиционируем и покажем кнопку 'оставить заявку'">
|
@@ -369,7 +365,7 @@ function StateController() {
|
|
369
365
|
_map.edit_button_klass.setState('edit_area', true); // [a1x7]
|
370
366
|
|
371
367
|
// спрячем инфу о здании
|
372
|
-
|
368
|
+
_map.building_info_klass.hide();
|
373
369
|
|
374
370
|
// скроем форму поиска
|
375
371
|
_map.search_gui_klass.position_hide();
|
@@ -391,7 +387,7 @@ function StateController() {
|
|
391
387
|
_this.svg_overlay.css('display', 'block');
|
392
388
|
|
393
389
|
// выдвигаем инфо-панель
|
394
|
-
|
390
|
+
_map.building_info_klass.show();
|
395
391
|
|
396
392
|
// покажем кнопку "обратно на карту"
|
397
393
|
_map.back_to_map_button_klass.show();
|
@@ -459,7 +455,7 @@ function StateController() {
|
|
459
455
|
OpacityButtonsUtils.show(_this.edit_button);
|
460
456
|
|
461
457
|
// спрячем инфу о здании
|
462
|
-
|
458
|
+
_map.building_info_klass.hide();
|
463
459
|
|
464
460
|
// спрячем статус строки "вы создаёте полигон" и ...
|
465
461
|
_this.map_creating.css('display', 'none');
|
@@ -12,6 +12,8 @@ function BuildingInfo(options) {
|
|
12
12
|
|
13
13
|
var _this = this;
|
14
14
|
|
15
|
+
var _el_building_info = null;
|
16
|
+
|
15
17
|
// текуще отображаемое здание (Это данные от C80MapFloors::MapBuilding, метод my_as_json5)
|
16
18
|
var _cur_map_building_json;
|
17
19
|
|
@@ -134,6 +136,102 @@ function BuildingInfo(options) {
|
|
134
136
|
$('div.tab_content').css('max-height',max_height+'px');
|
135
137
|
};
|
136
138
|
|
139
|
+
this.show = function() {
|
140
|
+
_el_building_info.css("top", _el_building_info.data("init"));
|
141
|
+
};
|
142
|
+
|
143
|
+
this.hide = function() {
|
144
|
+
|
145
|
+
if (_el_building_info.data("init") == undefined) {
|
146
|
+
_el_building_info.data('init', _el_building_info.css("top"));
|
147
|
+
}
|
148
|
+
|
149
|
+
var h = _el_building_info.height() + 100;
|
150
|
+
_el_building_info.css("top", -h+'px');
|
151
|
+
_el_building_info.css("display", "block");
|
152
|
+
};
|
153
|
+
|
154
|
+
/**
|
155
|
+
* Показать инфо о просматриваемой площади (это код, который остался без изменений от c80_map)
|
156
|
+
*
|
157
|
+
* @param area_json
|
158
|
+
* @param parent_floor_json
|
159
|
+
*/
|
160
|
+
this.show_area_info = function (area_json, parent_floor_json) {
|
161
|
+
|
162
|
+
console.log('<BuildingInfo.show_area_info>');
|
163
|
+
|
164
|
+
//console.log(area_hash);
|
165
|
+
|
166
|
+
// так было в c80_map
|
167
|
+
//"area_hash": {
|
168
|
+
// "id": 2,
|
169
|
+
// "title": "Площадь 2.12",
|
170
|
+
// "is_free": false,
|
171
|
+
// "props": {
|
172
|
+
// "square": "100 кв.м.",
|
173
|
+
// "floor_height": "6 кв. м",
|
174
|
+
// "column_step": "2 м",
|
175
|
+
// "gate_type": "распашные",
|
176
|
+
// "communications": "Интернет, электричество, водоснабжение",
|
177
|
+
// "price": "от 155 руб/кв.м в месяц"
|
178
|
+
// }
|
179
|
+
|
180
|
+
// так стало в c80_map_floors
|
181
|
+
//"rent_building_hash": {
|
182
|
+
// "id": 2,
|
183
|
+
// "title": "Здание 2",
|
184
|
+
// "props": {
|
185
|
+
// "square": "1234 кв.м.",
|
186
|
+
// "square_free": "124 кв. м",
|
187
|
+
// "floor_height": "6 кв. м",
|
188
|
+
// "column_step": "2 м",
|
189
|
+
// "gate_type": "распашные",
|
190
|
+
// "communications": "Интернет, электричество, водоснабжение",
|
191
|
+
// "price": "от 155 руб/кв.м в месяц"
|
192
|
+
// }
|
193
|
+
|
194
|
+
// 20170328: если площадь занята, то:
|
195
|
+
// {
|
196
|
+
// id: 458,
|
197
|
+
// desc: 'От 400 руб за м.',
|
198
|
+
// is_free: false,
|
199
|
+
// title: 'ИЕ-12',
|
200
|
+
// square: 120,
|
201
|
+
// price_string: null,
|
202
|
+
// shop: {
|
203
|
+
// desc: ,
|
204
|
+
// id: 555,
|
205
|
+
// site:
|
206
|
+
// tel:
|
207
|
+
// url:
|
208
|
+
// }
|
209
|
+
// }
|
210
|
+
|
211
|
+
if (area_json == null || area_json == undefined) {
|
212
|
+
alert('[ERROR] У полигона нет привязки к Площади. Привяжите полигон площади.');
|
213
|
+
} else {
|
214
|
+
|
215
|
+
// сначала скроем всё
|
216
|
+
$('.li_area').css('display','none');
|
217
|
+
|
218
|
+
// покажем только релевантный
|
219
|
+
$('.li_area#li_area_'+area_json["id"]).css('display','block');
|
220
|
+
|
221
|
+
// TODO:: этот код должен переехать туда, где будем выводить инфо о площади без арендатора
|
222
|
+
/*// заполняем данными ссылку 'Оставить заявку'
|
223
|
+
var $a_make_order = _el_building_info.find('.c80_order_invoking_btn');
|
224
|
+
$a_make_order.data('comment-text', 'Здравствуйте, оставляю заявку на площадь: ' + area_json["title"]);
|
225
|
+
$a_make_order.data('subj-id', area_json["id"]);*/
|
226
|
+
|
227
|
+
}
|
228
|
+
|
229
|
+
};
|
230
|
+
|
231
|
+
this.set_left = function(left) {
|
232
|
+
_el_building_info.css("left", left + "px");
|
233
|
+
};
|
234
|
+
|
137
235
|
//------------------------------------------------------------------------------------------------------------------------
|
138
236
|
|
139
237
|
/**
|
@@ -153,6 +251,10 @@ function BuildingInfo(options) {
|
|
153
251
|
//---[ dsd ]---------------------------------------------------------------------------------------------------------------------
|
154
252
|
|
155
253
|
this._fInit = function (options) {
|
254
|
+
|
255
|
+
// фиксируем html-узел
|
256
|
+
_el_building_info = $('.building_info');
|
257
|
+
|
156
258
|
// TODO:: _options extend options
|
157
259
|
_options = $.extend(_options, options);
|
158
260
|
|
@@ -165,7 +267,7 @@ function BuildingInfo(options) {
|
|
165
267
|
});
|
166
268
|
|
167
269
|
// находим заголовок
|
168
|
-
_$title =
|
270
|
+
_$title = _el_building_info.find('h3');
|
169
271
|
|
170
272
|
};
|
171
273
|
|
@@ -16,7 +16,8 @@ function MobjInfoParser() {
|
|
16
16
|
// используется в _row_area_with_shop() и в _row_area_shop()
|
17
17
|
// 20170327-hover: был добавлен id='link_shop_{MAP_AREA_ID}', для подсветки полигона, который соответствует магазину при наведении мышкой на ссылку
|
18
18
|
// 20170327-hover: в тех же целях был добавлен css-класс
|
19
|
-
|
19
|
+
// 20170328-view_area: был добавлен id вцелом элементу списка, чтобы можно было скрывать нерелевантные элементы при входе в площадь
|
20
|
+
var _row_area_shop_pattern = "<li id='li_area_{MAP_AREA_ID}' class='li_area'><a class='link_shop' href='{HREF}' id='link_shop_{MAP_AREA_ID}' title='{TITLE}' target='_blank'>{TITLE}</a> ({AREA_TITLE}), {PHONE}</li>";
|
20
21
|
|
21
22
|
// используется в _row_area_data()
|
22
23
|
var _row_area_pattern = "<li><a href='{HREF}' title='{AREA_TITLE}' target='_blank'>{AREA_TITLE}</a></li>";
|
@@ -35,6 +35,9 @@ div.tabs_js {
|
|
35
35
|
overflow-y: scroll;
|
36
36
|
overflow-x: hidden;
|
37
37
|
|
38
|
+
width: 445px;
|
39
|
+
white-space: nowrap;
|
40
|
+
|
38
41
|
ul {
|
39
42
|
list-style: none;
|
40
43
|
margin-left: 0;
|
@@ -58,6 +61,18 @@ div.tabs_js {
|
|
58
61
|
font-size: 20px;
|
59
62
|
}
|
60
63
|
|
64
|
+
a {
|
65
|
+
font-weight: bold;
|
66
|
+
color: #048bce;
|
67
|
+
text-decoration: underline !important;
|
68
|
+
|
69
|
+
&:hover {
|
70
|
+
color: #006ca1;
|
71
|
+
text-decoration: underline !important;
|
72
|
+
}
|
73
|
+
|
74
|
+
}
|
75
|
+
|
61
76
|
}
|
62
77
|
}
|
63
78
|
|
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.1.0.
|
4
|
+
version: 0.1.0.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- C80609A
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|