c80_map_floors 0.2.0.1 → 0.2.0.2
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/README.md +1 -1
- data/app/assets/javascripts/src/main.js +95 -72
- data/app/assets/javascripts/view/search_gui.js +6 -4
- data/app/assets/stylesheets/ui/search_gui.scss +12 -3
- data/lib/c80_map_floors/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 77ebe44a0378af5a19e6de44236f282bf0fa8475
|
4
|
+
data.tar.gz: 2fb133e8612f1a36c9552fda8a6129749bf1c49c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3b3119465cda2ec42ccf164871c688a6708a435913c22a5dd6aafae375813b3610b11b0a894f6ae454962de0283f0d893987e7f1cc97b85fa71165c0d75f1a6
|
7
|
+
data.tar.gz: '0308db356713cf2c227a8223b8626dd534c3ed12816ed03994ea35007e5e0f0cdae0779ab7d2b2b3dde83602150ad47703dcd402ea1f7e484d4fef9e4541cb3d'
|
data/README.md
CHANGED
@@ -6,8 +6,9 @@ var map_on_index_page = null;
|
|
6
6
|
var InitMap = function (params) {
|
7
7
|
|
8
8
|
var dnd_enable = true;
|
9
|
-
|
10
|
-
|
9
|
+
//noinspection EqualityComparisonWithCoercionJS
|
10
|
+
if (params != undefined && params['dnd_enable'] != undefined) {
|
11
|
+
dnd_enable = params['dnd_enable'];
|
11
12
|
}
|
12
13
|
|
13
14
|
// - to delete start -----------------------------------------------------------------------------------------------------------------------
|
@@ -123,7 +124,7 @@ var InitMap = function (params) {
|
|
123
124
|
|
124
125
|
self.init = function (el, params) {
|
125
126
|
|
126
|
-
console.log('
|
127
|
+
console.log('[Map.init]');
|
127
128
|
|
128
129
|
// extend options
|
129
130
|
self.o = $.extend(self.o, params);
|
@@ -229,7 +230,7 @@ var InitMap = function (params) {
|
|
229
230
|
//.addClass(data["class_name"])/* [qwwqq] */
|
230
231
|
.addClass("main_map")/* [qwwqq] */
|
231
232
|
.appendTo(self.map_layers); // .hide()
|
232
|
-
$('<img>').attr('src', data["img"]).addClass('mmap-image').appendTo(layer);
|
233
|
+
$('<img src="">').attr('src', data["img"]).addClass('mmap-image').appendTo(layer);
|
233
234
|
|
234
235
|
// Zoom buttons
|
235
236
|
if (self.o.zoombuttons) {
|
@@ -253,7 +254,7 @@ var InitMap = function (params) {
|
|
253
254
|
div_css_selector: '#container_buttons .mzoom_buttons'
|
254
255
|
}
|
255
256
|
}).done(function () {
|
256
|
-
console.log('
|
257
|
+
console.log('[ajax.done]');
|
257
258
|
|
258
259
|
self.update_json_klass = new UpdateJsonButton();
|
259
260
|
self.update_json_klass.init('.mapplic-update-json', self);
|
@@ -327,7 +328,7 @@ var InitMap = function (params) {
|
|
327
328
|
// self.Y10,
|
328
329
|
// self.Y20);
|
329
330
|
// var scale = (scaleX < scaleY) ? scaleX : scaleY;
|
330
|
-
// self.scale =
|
331
|
+
// self.scale = scale;
|
331
332
|
|
332
333
|
self.scale = scaleX;
|
333
334
|
//</editor-fold>
|
@@ -386,14 +387,15 @@ var InitMap = function (params) {
|
|
386
387
|
//#-> Убрал 'edit_building', т.к. мы не можем ничего нарисовать в этом режиме - картинки этажей добавляются через админку
|
387
388
|
if (self.mode === 'editing' || self.mode === 'edit_area' || self.mode === 'edit_floor') { // || self.mode === "edit_building"
|
388
389
|
if (e.target.parentNode.tagName === 'g') {
|
389
|
-
console.log("
|
390
|
+
console.log("[onSvgMousedown] Нажали мышью на полигон или вершину.");
|
390
391
|
//console.log(e.pageX);
|
391
|
-
//console.log("
|
392
|
+
//console.log("[mouseDown] e.target.parentNode.tagName = " + e.target.parentNode.tagName);
|
392
393
|
//console.log(e.target);
|
393
394
|
//info.unload();
|
394
395
|
|
395
396
|
// если ДО этого нажатия уже была "выбранная" область - "снимем" с неё css класс
|
396
|
-
|
397
|
+
//noinspection EqualityComparisonWithCoercionJS
|
398
|
+
if (self.selected_area != null) {
|
397
399
|
self.selected_area.deselect();
|
398
400
|
}
|
399
401
|
|
@@ -433,16 +435,20 @@ var InitMap = function (params) {
|
|
433
435
|
//self.edit_type = 'move';
|
434
436
|
|
435
437
|
// если это полигон здания - фиксируем его
|
436
|
-
|
437
|
-
if (
|
438
|
-
|
439
|
-
|
438
|
+
//noinspection EqualityComparisonWithCoercionJS
|
439
|
+
if (self.selected_area != null) {
|
440
|
+
var selected_area_building = self.selected_area.building;
|
441
|
+
//noinspection EqualityComparisonWithCoercionJS
|
442
|
+
if (selected_area_building != null) {
|
443
|
+
self.current_building = selected_area_building; // фиксируем полигон здания в режиме "редактирования карты" при клике по полигону на карте
|
444
|
+
console.log("[self.onSvgMousedown] Это не Drag-n-drop, а обычный клик по полигону Здания c id=" + self.current_building.options["id"]);
|
440
445
|
|
441
|
-
|
442
|
-
|
446
|
+
// включим кнопку "связать Здание"
|
447
|
+
self.building_link_button_klass.en_check();
|
443
448
|
|
444
|
-
|
445
|
-
|
449
|
+
} else {
|
450
|
+
console.log("[self.onSvgMousedown] Это не Drag-n-drop, а обычный клик по фигуре.");
|
451
|
+
}
|
446
452
|
}
|
447
453
|
|
448
454
|
}
|
@@ -462,11 +468,12 @@ var InitMap = function (params) {
|
|
462
468
|
|
463
469
|
// Drag & drop
|
464
470
|
function onDragNdrop(event) {
|
465
|
-
//console.log("
|
466
|
-
console.log("
|
471
|
+
//console.log("[mousedown] edit_type = " + self.edit_type);
|
472
|
+
console.log("[mousedown] mode = " + self.mode + ", dnd_enable = " + self.o.dnd_enable + ', edit_type = ' + self.edit_type);
|
467
473
|
//console.log(event);
|
468
474
|
|
469
475
|
// если в данный момент не редактируем фигуру (т.е. не двигаем вершину фигуры)
|
476
|
+
//noinspection EqualityComparisonWithCoercionJS
|
470
477
|
if (self.edit_type == null) {
|
471
478
|
self.dragging = false;
|
472
479
|
map.stop();
|
@@ -496,8 +503,8 @@ var InitMap = function (params) {
|
|
496
503
|
scale: self.scale
|
497
504
|
});
|
498
505
|
|
499
|
-
//console.log("
|
500
|
-
//console.log("
|
506
|
+
//console.log("[Map.mousemove] x = " + x + "; y = " + y);
|
507
|
+
//console.log("[Map.mousemove] Call moveTo.");
|
501
508
|
self.moveTo(x, y); /* NOTE:: вызывается во время dnd */
|
502
509
|
map.data('lastX', x);
|
503
510
|
map.data('lastY', y);
|
@@ -506,16 +513,16 @@ var InitMap = function (params) {
|
|
506
513
|
|
507
514
|
//noinspection JSUnresolvedFunction
|
508
515
|
$(document).on('mouseup', function (event) {
|
509
|
-
//console.log("
|
510
|
-
//console.log("
|
516
|
+
//console.log("[mouseup] dragging = " + self.dragging + ", mode = " + self.mode + "; is_draw = " + self.is_draw + "; scale = " + self.scale);
|
517
|
+
//console.log("[mouseup] event = ");
|
511
518
|
//console.log(event);
|
512
|
-
//console.log("
|
519
|
+
//console.log("[mouseup] event.target = ");
|
513
520
|
//console.log($(event.target).parent()[0].obj);
|
514
521
|
|
515
|
-
//console.log("
|
522
|
+
//console.log("[mouseup] [qq] screen: " + event.pageX + ", " + event.pageY +
|
516
523
|
//"; logic: " + self.rightX(event.pageX) + ", " + self.rightY(event.pageY));
|
517
524
|
|
518
|
-
console.log("
|
525
|
+
console.log("[mouseup] Отпустили мышь после клика, текущий режим карты: mode = " + self.mode);
|
519
526
|
|
520
527
|
// исключаем случайный dnd дрожащей рукой [xdnd?]
|
521
528
|
var dx = map.data('startX') - map.data('lastX');
|
@@ -537,14 +544,14 @@ var InitMap = function (params) {
|
|
537
544
|
var $viewing_g_from_svg_overlay;
|
538
545
|
|
539
546
|
/* если находимся в режиме просмотра всей карты - входим в здание */
|
540
|
-
if (self.mode
|
547
|
+
if (self.mode === 'viewing') {
|
541
548
|
//console.log($(event.target).parent()[0].obj.building);
|
542
549
|
|
543
550
|
// добираемся до объекта класса Здание, который обслуживает полигон
|
544
551
|
p = $(event.target).parent()[0];
|
545
552
|
if (p.obj && p.obj.building) {
|
546
553
|
var building = p.obj.building;
|
547
|
-
console.log("
|
554
|
+
console.log("[mouseup] Текущий mode карты 'viewing' - Входим в здание (а потом building сам решит, входить ли на 1й этаж).");
|
548
555
|
self.current_building = building; /* когда вошли в здание, определили переменную */
|
549
556
|
building.enter();
|
550
557
|
}
|
@@ -552,14 +559,14 @@ var InitMap = function (params) {
|
|
552
559
|
}
|
553
560
|
|
554
561
|
/* если находимся в режиме рисования - рисуем */
|
555
|
-
else if (self.mode
|
562
|
+
else if (self.mode === 'creating') {
|
556
563
|
|
557
564
|
// и если ещё пока не начали рисовать (т.е. если это первый клик)
|
558
565
|
if (!self.is_draw) {
|
559
566
|
|
560
567
|
var xx = self.rightX(event.pageX);
|
561
568
|
var yy = self.rightY(event.pageY);
|
562
|
-
//console.log("
|
569
|
+
//console.log("[mouseup] " + xx + "; " + yy);
|
563
570
|
|
564
571
|
self.drawing_poligon = new Polygon(xx, yy, false, self);
|
565
572
|
|
@@ -577,7 +584,7 @@ var InitMap = function (params) {
|
|
577
584
|
// если кликнули в первую точку фигуры - заканчиваем рисование
|
578
585
|
var $et = $(e.target);
|
579
586
|
var $h = $(self.drawing_poligon.helpers[0].helper);
|
580
|
-
if ($et.attr('x')
|
587
|
+
if ($et.attr('x') === $h.attr('x') && $et.attr('y') === $h.attr('y')) {
|
581
588
|
//self.drawing_poligon.onDrawStop();
|
582
589
|
self.onDrawStop();
|
583
590
|
return;
|
@@ -600,7 +607,7 @@ var InitMap = function (params) {
|
|
600
607
|
|
601
608
|
/* если находимся в режиме просмотра здания - входим в площадь (так было в c80_map) */
|
602
609
|
/* если находится в режиме просмотра площади - переключаемся на другую площадь */
|
603
|
-
else if (self.mode
|
610
|
+
else if (self.mode === 'view_floor' || self.mode === 'view_area') { // self.mode == 'view_building' (так было в c80_map)
|
604
611
|
|
605
612
|
//console.log($(event.target).parent());
|
606
613
|
// => g, который живёт в #svg_overlay, или, другими словами,
|
@@ -618,17 +625,17 @@ var InitMap = function (params) {
|
|
618
625
|
self.last_clicked_g = $viewing_g_from_svg_overlay;
|
619
626
|
|
620
627
|
var area = p.obj.area;
|
621
|
-
console.log("
|
628
|
+
console.log("[mouseup] Входим в площадь. self.last_clicked_g = ");
|
622
629
|
console.log(self.last_clicked_g);
|
623
630
|
area.enter();
|
624
631
|
} else {
|
625
|
-
console.log('
|
632
|
+
console.log('[mouseup] [ERROR] у полигона нет объекта Area.js класса.');
|
626
633
|
}
|
627
634
|
|
628
635
|
}
|
629
636
|
|
630
|
-
else if (self.mode
|
631
|
-
console.log('
|
637
|
+
else if (self.mode === 'removing') {
|
638
|
+
console.log('[main.js] mode = removing');
|
632
639
|
|
633
640
|
// => g, который живёт в #svg_overlay, или, другими словами,
|
634
641
|
// тот g, по которому кликнули последний раз,
|
@@ -643,7 +650,7 @@ var InitMap = function (params) {
|
|
643
650
|
var area = p.obj.area;
|
644
651
|
self.registerDeletingArea(area);
|
645
652
|
} else {
|
646
|
-
console.log('
|
653
|
+
console.log('[main.js] [error] нету у полигона объекта, или этот объект не Area');
|
647
654
|
}
|
648
655
|
|
649
656
|
}
|
@@ -691,7 +698,7 @@ var InitMap = function (params) {
|
|
691
698
|
|
692
699
|
// какой должен быть минимальный масштаб, чтобы вписать отрезок [min,max] в отрезок [p1,p2]
|
693
700
|
self.calcScale = function (min, max, p1, p2) {
|
694
|
-
//console.log("
|
701
|
+
//console.log("[calcScale] [" + min + "," + max + '] to [' + p1 + "," + p2 + "]");
|
695
702
|
return (p2 - p1) / (max - min);
|
696
703
|
};
|
697
704
|
|
@@ -765,10 +772,13 @@ var InitMap = function (params) {
|
|
765
772
|
for (i = 0; i < to_draw.length; i++) {
|
766
773
|
ip = to_draw[i];
|
767
774
|
|
775
|
+
//noinspection EqualityComparisonWithCoercionJS
|
768
776
|
if (ip.x != undefined) {
|
769
777
|
istyle = style_x.split("{X}").join(ip.x);
|
770
|
-
} else
|
771
|
-
|
778
|
+
} else { //noinspection EqualityComparisonWithCoercionJS
|
779
|
+
if (ip.y != undefined) {
|
780
|
+
istyle = style_y.split("{Y}").join(ip.y);
|
781
|
+
}
|
772
782
|
}
|
773
783
|
|
774
784
|
_$m.append($("<div style=" + istyle + "></div>"));
|
@@ -832,8 +842,9 @@ var InitMap = function (params) {
|
|
832
842
|
* можно было отобразить характеристики Здания родителя C80Rent:Building.
|
833
843
|
*/
|
834
844
|
self.draw_childs = function (childs, parent_hash) {
|
845
|
+
//noinspection EqualityComparisonWithCoercionJS
|
835
846
|
if (childs == undefined) return;
|
836
|
-
console.log("
|
847
|
+
console.log("[Map.draw_childs]");
|
837
848
|
|
838
849
|
//var ip;
|
839
850
|
var iobj;
|
@@ -864,6 +875,7 @@ var InitMap = function (params) {
|
|
864
875
|
}
|
865
876
|
|
866
877
|
// Только после того, как нарисуем всех детей на карте, подсветим результаты поиска
|
878
|
+
//noinspection EqualityComparisonWithCoercionJS
|
867
879
|
if (self.search_gui_klass != null) {
|
868
880
|
self.search_gui_klass.handleSearchResults();
|
869
881
|
}
|
@@ -879,14 +891,14 @@ var InitMap = function (params) {
|
|
879
891
|
*/
|
880
892
|
self.draw_child_bg_image = function (img_src, obj_type, is_overlay) {
|
881
893
|
var t;
|
882
|
-
if (is_overlay
|
894
|
+
if (is_overlay === true) {
|
883
895
|
t = self.map_overlay_layers;
|
884
896
|
} else {
|
885
897
|
t = self.map_layers;
|
886
898
|
}
|
887
899
|
// Create new map layer
|
888
900
|
var layer = $('<div></div>').addClass('mlayer').addClass(obj_type).appendTo(t); // .hide()
|
889
|
-
$('<img>').attr('src', img_src).addClass('mmap-image').appendTo(layer);
|
901
|
+
$('<img src="">').attr('src', img_src).addClass('mmap-image').appendTo(layer);
|
890
902
|
|
891
903
|
return layer;
|
892
904
|
};
|
@@ -961,7 +973,7 @@ var InitMap = function (params) {
|
|
961
973
|
var width = $i.data("width")*self.scale_during_animation;
|
962
974
|
var height = $i.data("height")*self.scale_during_animation;
|
963
975
|
|
964
|
-
console.log('
|
976
|
+
console.log('[__compose_css_style_for_map_object_image]');
|
965
977
|
|
966
978
|
// впишем в DOM стили
|
967
979
|
var style = 'top:';
|
@@ -981,21 +993,21 @@ var InitMap = function (params) {
|
|
981
993
|
//<editor-fold desc="// двигаем фигуру мышкой методом drag-n-drop">
|
982
994
|
self.onMouseMove = function (e) { // мышь нажата и двигается
|
983
995
|
|
984
|
-
//console.log("
|
985
|
-
//console.log("
|
996
|
+
//console.log("[Polygon.prototype.onMouseMove] _s_f = " + _s_f);
|
997
|
+
//console.log("[Polygon.prototype.onMouseMove] e = ");
|
986
998
|
//console.log(_s_f);
|
987
999
|
//console.log(e.pageX);
|
988
1000
|
|
989
1001
|
var selected_area = self.selected_area;
|
990
1002
|
var edit_type = self.edit_type;
|
991
|
-
//console.log("
|
1003
|
+
//console.log("[Polygon.prototype.onMouseMove] edit_type = " + edit_type);
|
992
1004
|
|
993
1005
|
selected_area.dynamicEdit(selected_area[edit_type](e.pageX - selected_area.delta.x, e.pageY - selected_area.delta.y));
|
994
1006
|
selected_area.delta.x = e.pageX;
|
995
1007
|
selected_area.delta.y = e.pageY;
|
996
1008
|
};
|
997
1009
|
self.onMouseUp = function (e) { // отпустили мышь (другими словами - закончили drag'n'drop)
|
998
|
-
console.log("
|
1010
|
+
console.log("[self.onMouseUp] [for_breakpoint] Отпустили мышь.");
|
999
1011
|
|
1000
1012
|
var _s_f = self.selected_area;
|
1001
1013
|
var edit_type = self.edit_type;
|
@@ -1010,7 +1022,7 @@ var InitMap = function (params) {
|
|
1010
1022
|
//
|
1011
1023
|
// Если dnd был - двигаем фигуру
|
1012
1024
|
//if (is_real_dragging) {
|
1013
|
-
// console.log("
|
1025
|
+
// console.log("[self.onMouseUp] Drag-n-drop detected.");
|
1014
1026
|
var aa = _s_f[edit_type](dx, dy);
|
1015
1027
|
var bb = _s_f.dynamicEdit(aa);
|
1016
1028
|
_s_f.setParams(bb);
|
@@ -1024,11 +1036,11 @@ var InitMap = function (params) {
|
|
1024
1036
|
//var selected_area_building = self.selected_area.building;
|
1025
1037
|
//if (selected_area_building != undefined && selected_area_building != null) {
|
1026
1038
|
// self.current_building = selected_area_building;
|
1027
|
-
// console.log("
|
1039
|
+
// console.log("[self.onMouseUp] Это не Drag-n-drop, а обычный клик по полигону Здания c id=" + self.current_building.options.id);
|
1028
1040
|
//} else {
|
1029
|
-
// console.log("
|
1041
|
+
// console.log("[self.onMouseUp] Это не Drag-n-drop, а обычный клик по фигуре.");
|
1030
1042
|
//}
|
1031
|
-
//console.log('
|
1043
|
+
//console.log('[breakpoint]');
|
1032
1044
|
//}
|
1033
1045
|
|
1034
1046
|
self.removeAllEvents();
|
@@ -1036,10 +1048,11 @@ var InitMap = function (params) {
|
|
1036
1048
|
//</editor-fold>
|
1037
1049
|
|
1038
1050
|
self.onDrawStop = function (e) {
|
1039
|
-
console.log("
|
1051
|
+
console.log("[Map.onDrawStop] Закончили рисовать.");
|
1040
1052
|
|
1053
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1041
1054
|
if (e != undefined) {
|
1042
|
-
if (e.type
|
1055
|
+
if (e.type === 'keydown' && e.keyCode === 13) {
|
1043
1056
|
// its ok, continue execution..
|
1044
1057
|
} else {
|
1045
1058
|
return
|
@@ -1056,8 +1069,8 @@ var InitMap = function (params) {
|
|
1056
1069
|
|
1057
1070
|
//#-> создадим либо полигон Здания, либо полигон Площади
|
1058
1071
|
|
1059
|
-
if (self.prev_mode
|
1060
|
-
console.log("
|
1072
|
+
if (self.prev_mode === "edit_floor") {
|
1073
|
+
console.log("[Map.onDrawStop] Создаём Area.");
|
1061
1074
|
|
1062
1075
|
//var bo = self.current_building.options;
|
1063
1076
|
var fo = self.current_building.json_current_floor(); // когда нарисовали полигон Площади - определяем Этаж родитель
|
@@ -1067,8 +1080,8 @@ var InitMap = function (params) {
|
|
1067
1080
|
_n_f.remove(); // удаляем нарисованный полигон, т.к. его уже заменили полигоном Area
|
1068
1081
|
self.registerJustDrownArea(a);
|
1069
1082
|
}
|
1070
|
-
else if (self.prev_mode
|
1071
|
-
console.log("
|
1083
|
+
else if (self.prev_mode === 'editing') {
|
1084
|
+
console.log("[Map.onDrawStop] Создаём Building.");
|
1072
1085
|
var b = new Building();
|
1073
1086
|
b.init({ coords:_n_f.params }, self);
|
1074
1087
|
//b.is_new = true;
|
@@ -1102,12 +1115,13 @@ var InitMap = function (params) {
|
|
1102
1115
|
self.registerDeletingArea = function(area) {
|
1103
1116
|
var is_deleted = false;
|
1104
1117
|
|
1118
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1105
1119
|
if (utils.getById(area.id, self.areas_for_delete) == null) {
|
1106
|
-
console.log('
|
1120
|
+
console.log('[registerDeletingArea] Регистрируем: area.id = ' + area.id);
|
1107
1121
|
self.areas_for_delete.push(area);
|
1108
1122
|
is_deleted = true;
|
1109
1123
|
} else {
|
1110
|
-
console.log('
|
1124
|
+
console.log('[registerDeletingArea] Убираем: area.id = ' + area.id);
|
1111
1125
|
utils.deleteById(area.id, self.areas_for_delete);
|
1112
1126
|
}
|
1113
1127
|
|
@@ -1166,7 +1180,7 @@ var InitMap = function (params) {
|
|
1166
1180
|
* @returns {*}
|
1167
1181
|
*/
|
1168
1182
|
self.normalizeScale = function (scale) {
|
1169
|
-
console.log('
|
1183
|
+
console.log('[self.normalizeScale]' + self.o.fitscale);
|
1170
1184
|
if (scale < self.o.fitscale) scale = self.o.fitscale;
|
1171
1185
|
else if (scale > self.o.maxscale) scale = self.o.maxscale;
|
1172
1186
|
|
@@ -1185,7 +1199,7 @@ var InitMap = function (params) {
|
|
1185
1199
|
self.x = self.normalizeX(self.container.width() * 0.5 - self.scale * self.contentWidth * x);
|
1186
1200
|
self.y = self.normalizeY(self.container.height() * ry - self.scale * self.contentHeight * y);
|
1187
1201
|
|
1188
|
-
console.log("
|
1202
|
+
console.log("[Map.zoomTo] Call moveTo.");
|
1189
1203
|
self.moveTo(self.x, self.y, self.scale, duration, easing);
|
1190
1204
|
};*/
|
1191
1205
|
|
@@ -1216,6 +1230,7 @@ var InitMap = function (params) {
|
|
1216
1230
|
var match_left = str.match(rx_left);
|
1217
1231
|
var match_right = str.match(rx_top);
|
1218
1232
|
|
1233
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1219
1234
|
if (match_left != null && match_right != null) {
|
1220
1235
|
var x = -1 * Number(match_left[1]); // ["left: -69.9985px;", "69.9985"]
|
1221
1236
|
var y = -1 * Number(match_right[1]); // ["left: -69.9985px;", "69.9985"]
|
@@ -1240,7 +1255,7 @@ var InitMap = function (params) {
|
|
1240
1255
|
* @private
|
1241
1256
|
*/
|
1242
1257
|
var __moveToComplete = function (x,y,scale) {
|
1243
|
-
//console.log("
|
1258
|
+
//console.log("[__moveToComplete] x = " + x + "; y = " + y + "; scale = " + scale);
|
1244
1259
|
|
1245
1260
|
/* NOTE:: CORE */
|
1246
1261
|
|
@@ -1286,20 +1301,21 @@ var InitMap = function (params) {
|
|
1286
1301
|
self.__compose_css_style_for_map_object_image($( this ));
|
1287
1302
|
});
|
1288
1303
|
|
1289
|
-
//console.log("
|
1304
|
+
//console.log("[__moveToStep] x = " + x + "; y = " + y + "; w = " + w + "; h = " + h + "; scale = " + scale_during_animation);
|
1290
1305
|
};
|
1291
1306
|
|
1292
1307
|
// x,y - экранные координаты
|
1293
1308
|
// сюда подаётся scale, который нужно присвоить map после анимации
|
1294
1309
|
self.moveTo = function (x, y, scale, d, easing) {
|
1295
|
-
console.log("
|
1296
|
-
//console.log('
|
1310
|
+
console.log("[self.moveTo] x = " + x + "; y = " + y + "; scale = " + scale + "; delay = " + d);
|
1311
|
+
//console.log('[self.moveTo]');
|
1297
1312
|
|
1298
1313
|
// если подан аргумент scale(масштаб)
|
1299
1314
|
// перемещаемся анимированно
|
1300
1315
|
if (scale !== undefined) {
|
1301
1316
|
|
1302
1317
|
// на время движения скрываем слой с полосатой анимацией
|
1318
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1303
1319
|
if (self.current_area != null) {
|
1304
1320
|
$("#masked").addClass('hiddn');
|
1305
1321
|
setTimeout(__moveToTimeout, d);
|
@@ -1346,6 +1362,7 @@ var InitMap = function (params) {
|
|
1346
1362
|
//self.svg_overlay.attr('viewBox', t);
|
1347
1363
|
}
|
1348
1364
|
|
1365
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1349
1366
|
if (self.current_area != null) {
|
1350
1367
|
self.current_area.invalidateAnimationMask();
|
1351
1368
|
}
|
@@ -1380,7 +1397,7 @@ var InitMap = function (params) {
|
|
1380
1397
|
// извлекаем значения
|
1381
1398
|
var area_id = $s.val();
|
1382
1399
|
var apolygon_id = self.current_area.id;
|
1383
|
-
console.log("
|
1400
|
+
console.log("[Map.link_area] Связать Площадь area_id = " + area_id + " c полигоном apolygon_id = " + apolygon_id);
|
1384
1401
|
|
1385
1402
|
// нажимаем кнопку "закрыть"
|
1386
1403
|
$b.click();
|
@@ -1416,7 +1433,7 @@ var InitMap = function (params) {
|
|
1416
1433
|
// извлекаем значения
|
1417
1434
|
var sfloor_id = $s.val(); // id Этажа
|
1418
1435
|
var current_floor_id = self.current_building.json_current_floor()["id"]; // id Картинки Этажа (связываем Этаж с картинкой)
|
1419
|
-
console.log('
|
1436
|
+
console.log('[link_floor] Связать Этаж sfloor_id=' + sfloor_id + ' с Картинкой Этажа current_floor_id=' + current_floor_id + '.');
|
1420
1437
|
|
1421
1438
|
// нажимаем кнопку "закрыть"
|
1422
1439
|
$b.click();
|
@@ -1444,7 +1461,7 @@ var InitMap = function (params) {
|
|
1444
1461
|
// взять C80MapFloors::current_building и назначить ему Rent::building.id,
|
1445
1462
|
// выбранный в окне _modal_window.html.erb
|
1446
1463
|
self.link_building = function () {
|
1447
|
-
//console.log('
|
1464
|
+
//console.log('[Map.link_building] ');
|
1448
1465
|
|
1449
1466
|
// фиксируем компоненты модального окна
|
1450
1467
|
var $m = $('#modal_window');
|
@@ -1454,7 +1471,7 @@ var InitMap = function (params) {
|
|
1454
1471
|
// извлекаем значения
|
1455
1472
|
var building_id = $s.val();
|
1456
1473
|
var map_building_id = self.current_building["id"]; //#-> [iddqd]
|
1457
|
-
console.log("
|
1474
|
+
console.log("[Map.link_area] building_id = " + building_id + "; map_building_id = " + map_building_id);
|
1458
1475
|
|
1459
1476
|
// нажимаем кнопку "закрыть"
|
1460
1477
|
$b.click();
|
@@ -1500,13 +1517,16 @@ var InitMap = function (params) {
|
|
1500
1517
|
var l = c.length;
|
1501
1518
|
var i, ig;
|
1502
1519
|
|
1503
|
-
console.log('
|
1520
|
+
console.log('[admin_label_show_all] Показать все админские лейблы полигонов в кол-ве ' + l + ' шт.');
|
1504
1521
|
|
1505
1522
|
for (i=0; i<l; i++) {
|
1506
1523
|
ig = s[0].children[i]; // именно [0]
|
1507
1524
|
//console.log(ig['obj']); // => Polygon
|
1525
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1508
1526
|
if (ig != undefined) { // такое тоже бывает
|
1527
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1509
1528
|
if (ig['obj'] != undefined) { //
|
1529
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1510
1530
|
if (ig['obj']['building'] != undefined) { // добираемся до класса Building.js
|
1511
1531
|
ig['obj']['building'].admin_label_show(); // показываем админский лейбл
|
1512
1532
|
}
|
@@ -1525,13 +1545,16 @@ var InitMap = function (params) {
|
|
1525
1545
|
var l = c.length;
|
1526
1546
|
var i, ig;
|
1527
1547
|
|
1528
|
-
console.log('
|
1548
|
+
console.log('[admin_label_hide_all] Скрыть все админские лейблы полигонов в кол-ве ' + l + ' шт.');
|
1529
1549
|
|
1530
1550
|
for (i=0; i<l; i++) {
|
1531
1551
|
ig = s[0].children[i]; // именно [0]
|
1532
1552
|
//console.log(ig['obj']); // => Polygon
|
1553
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1533
1554
|
if (ig != undefined) { // такое тоже бывает
|
1555
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1534
1556
|
if (ig['obj'] != undefined) { //
|
1557
|
+
//noinspection EqualityComparisonWithCoercionJS
|
1535
1558
|
if (ig['obj']['building'] != undefined) { // добираемся до класса Building.js
|
1536
1559
|
ig['obj']['building'].admin_label_hide(); // скрываем админский лейбл
|
1537
1560
|
}
|
@@ -111,8 +111,9 @@ function SearchGUI(link_to_map) {
|
|
111
111
|
_$container.data('init_position_top', _$container.css("top"));
|
112
112
|
_$container.data('init_position_left', _$container.css("left"));
|
113
113
|
}
|
114
|
-
_$container.css("top", _$container.data('init_position_top'));
|
115
|
-
_$container.css("left", _$container.data('init_position_left'));
|
114
|
+
// _$container.css("top", _$container.data('init_position_top'));
|
115
|
+
// _$container.css("left", _$container.data('init_position_left'));
|
116
|
+
_$container.removeClass('hdn');
|
116
117
|
}
|
117
118
|
};
|
118
119
|
|
@@ -123,8 +124,9 @@ function SearchGUI(link_to_map) {
|
|
123
124
|
this.position_inside = function () {
|
124
125
|
//console.log('<position_inside> [breakpoint].');
|
125
126
|
if (_$container != null) { // может быть null, если вдруг gui поиска не пришёл с сервера
|
126
|
-
_$container.css("left", -200);
|
127
|
-
_$container.css("top", _$container.data('init_position_top'));
|
127
|
+
// _$container.css("left", -200);
|
128
|
+
// _$container.css("top", _$container.data('init_position_top'));
|
129
|
+
_$container.addClass('hdn');
|
128
130
|
}
|
129
131
|
};
|
130
132
|
|
@@ -4,9 +4,18 @@ div.container#search_container {
|
|
4
4
|
height: 0;
|
5
5
|
z-index: 5;
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
transition: left .8s cubic-bezier(.25, .8, .25, 1), top .8s cubic-bezier(.25, .8, .25, 1);
|
7
|
+
//-webkit-transition: left .8s cubic-bezier(.25, .8, .25, 1), top .8s cubic-bezier(.25, .8, .25, 1);
|
8
|
+
//-moz-transition: left .8s cubic-bezier(.25, .8, .25, 1), top .8s cubic-bezier(.25, .8, .25, 1);
|
9
|
+
//transition: left .8s cubic-bezier(.25, .8, .25, 1), top .8s cubic-bezier(.25, .8, .25, 1);
|
10
|
+
|
11
|
+
visibility: visible;
|
12
|
+
opacity: 1;
|
13
|
+
transition: visibility 0.2s, opacity 0.2s linear;
|
14
|
+
|
15
|
+
&.hdn {
|
16
|
+
visibility: hidden;
|
17
|
+
opacity: 0;
|
18
|
+
}
|
10
19
|
|
11
20
|
div#search_gui {
|
12
21
|
display: block;
|