c80_map_floors 0.1.0.21 → 0.1.0.22
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/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
|