c80_map_floors 0.1.0.20 → 0.1.0.21

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: e492c072e62d8a31c57031485baf7d0600415c71
4
- data.tar.gz: d4520e1f4b7bf1addab597c719fdd3b631515c8f
3
+ metadata.gz: 2a17a5fbb3602490d393889c404ff4f313310453
4
+ data.tar.gz: 7d1107a8aca32d330db425f07eff5f758f9f67d7
5
5
  SHA512:
6
- metadata.gz: 301ddb8e39c6ec1f570065d5ccb2ed7641aceb0d60385042bd7b178a67d2c82bd8c4a6c44951bd4041769be946c5ecb71e8e416e38ce88a0cfc688e3e3fc54bb
7
- data.tar.gz: 8ebab83a13c8da444bd9e163039b38bd2682afaabe76933e377b724c9e461b0ec2730462e80eb6e66e58c0f9531df6271c61f16041b95d9ad29979268bb2b904
6
+ metadata.gz: b65b359a6467ded738329ee15579b5603241e24aa3d71216636df1810c498ac427f95a3936171ad4e8904f1c86a78f8b94fda4efdb8b1a481a9f8af4d83ff96c
7
+ data.tar.gz: c205ef48c9d29ee610783f9915c86932456ffdd0793439fc01a21aeb8983e3933bf547dfe9e7db0719df12838131f14d9396039d9d2f6a9681114455ac2558e9
@@ -27,8 +27,8 @@ function Area() {
27
27
 
28
28
  _this.init = function (options, parent_floor_json, pself) {
29
29
 
30
- console.log("<Area.init> options: ");
31
- console.log(options);
30
+ //console.log("<Area.init> options: ");
31
+ //console.log(options);
32
32
 
33
33
  // нарисовали полигон площади, находясь на этаже:
34
34
  // => Object { coords: Array[8] }
@@ -36,8 +36,8 @@ function Area() {
36
36
  // полигон площади уже был нарисован, просто вошли на этаж:
37
37
  // => Object { id: 2, tag: "test_area", floor_id: 2, class_name: "C80MapFloors::Area", coords: "10,12,110,112", data: null }
38
38
 
39
- console.log("<Area.init> parent_floor_json: ");
40
- console.log(parent_floor_json);
39
+ //console.log("<Area.init> parent_floor_json: ");
40
+ //console.log(parent_floor_json);
41
41
 
42
42
  /*
43
43
  Object {
@@ -107,6 +107,8 @@ function Area() {
107
107
  _this._polygon_overlay = Polygon.createFromSaved(options, true, _map);
108
108
  _this._polygon_overlay.area = _this;
109
109
  _this._polygon_overlay = $(_this._polygon_overlay.polygon);
110
+ _this._polygon_overlay.attr('id', "map_area_id_"+_this.id); // 20170327-hover: внедряем id полигона площади
111
+ _this._polygon_overlay.addClass('polygon_overlay'); // 20170327-hover: добавляем css класс for the sake of conciseness при использовании
110
112
  _this._polygon_overlay.hover(_this._mouse_in, _this._mouse_out);
111
113
  _this._calcBBox();
112
114
 
@@ -286,6 +286,7 @@ function Tabs(options) {
286
286
 
287
287
  var json_as_html_text = _options['info_helper'].makeHtmlText(json);
288
288
  _$div_tab_content.html(json_as_html_text);
289
+ _options['info_helper'].afterPastingHtmlText();
289
290
  }
290
291
 
291
292
  else {
@@ -14,7 +14,9 @@ function MobjInfoParser() {
14
14
  var _sresults_areas = null;
15
15
 
16
16
  // используется в _row_area_with_shop() и в _row_area_shop()
17
- var _row_area_shop_pattern = "<li><a href='{HREF}' title='{TITLE}' target='_blank'>{TITLE}</a> ({AREA_TITLE}), {PHONE}</li>";
17
+ // 20170327-hover: был добавлен id='link_shop_{MAP_AREA_ID}', для подсветки полигона, который соответствует магазину при наведении мышкой на ссылку
18
+ // 20170327-hover: в тех же целях был добавлен css-класс
19
+ var _row_area_shop_pattern = "<li><a class='link_shop' href='{HREF}' id='link_shop_{MAP_AREA_ID}' title='{TITLE}' target='_blank'>{TITLE}</a> ({AREA_TITLE}), {PHONE}</li>";
18
20
 
19
21
  // используется в _row_area_data()
20
22
  var _row_area_pattern = "<li><a href='{HREF}' title='{AREA_TITLE}' target='_blank'>{AREA_TITLE}</a></li>";
@@ -205,6 +207,14 @@ function MobjInfoParser() {
205
207
  _umode = umode;
206
208
  };
207
209
 
210
+ /**
211
+ * 20170327-hover: После того, как вставили html текст (собранный методом makeHtmlText), вызывается этот hook.
212
+ *
213
+ */
214
+ this.afterPastingHtmlText = function () {
215
+ $('a.link_shop').hover(_this._row_area_shop_mover, _this._row_area_shop_mout);
216
+ };
217
+
208
218
  //--[ private ]-----------------------------------------------------------------------------------------------------
209
219
 
210
220
  /**
@@ -340,15 +350,52 @@ function MobjInfoParser() {
340
350
  * @private
341
351
  */
342
352
  this._row_area_shop = function (area_json) {
353
+ //console.log('<_row_area_shop>');
354
+ /*
355
+ { floor_id:6,
356
+ id: 550, # айди полигона
357
+ coords: Array,
358
+ data: {
359
+ id: 444, # айди Rent-площади
360
+ desc: '...',
361
+ is_free: false,
362
+ price_string: '',
363
+ square: 130,
364
+ title: "МЕБ-1"
365
+ }
366
+ }
367
+ */
368
+
343
369
  var shop = area_json['data']['shop'];
344
370
  var res = _row_area_shop_pattern;
345
371
  res = res.split('{TITLE}').join(shop['title']);
346
372
  res = res.split('{HREF}').join(shop['url']);
347
373
  res = res.split('{PHONE}').join(shop['tel']);
348
374
  res = res.split('{AREA_TITLE}').join(area_json['data']['title']);
375
+ res = res.split('{MAP_AREA_ID}').join(area_json['id']);
349
376
  return res;
350
377
  };
351
378
 
379
+ // при наведении мышки на ссылку
380
+ // будут подсвечиваться соответствующие полигоны
381
+ // при убирании мышки с ссылки - все полигоны не подсвечены
382
+ this._row_area_shop_mover = function () {
383
+ console.log('<_row_area_shop_mover>');
384
+
385
+ var map_area_id = $(this).attr('id').split('link_shop_').join('');
386
+
387
+ // сначала уберём мышку со всех полигонов
388
+ $('.polygon_overlay').mouseleave();
389
+
390
+ // затем "наведём" мышь на соответствующий полигон
391
+ $('.polygon_overlay#map_area_id_' + map_area_id).mouseenter();
392
+
393
+ };
394
+ this._row_area_shop_mout = function () {
395
+ // уберём мышку со всех полигонов
396
+ $('.polygon_overlay').mouseleave();
397
+ };
398
+
352
399
  //--[ init ]--------------------------------------------------------------------------------------------------------
353
400
 
354
401
  var _fInit = function () {
@@ -1322,8 +1322,9 @@ div#map_wrapper {
1322
1322
  cursor: pointer;
1323
1323
 
1324
1324
  &:hover, &.hover {
1325
- fill: rgba(255, 4, 0, 0.40);
1326
- stroke: rgba(251, 251, 251, 0.86);
1325
+ fill: rgba(11, 11, 11, 0.26);
1326
+ stroke: rgba(255, 255, 255, 0.96);
1327
+ stroke-width: 3px;
1327
1328
  }
1328
1329
 
1329
1330
  &.found_area { /* удовлетворяющий поиску ЗАНЯТЫЙ polygon площади */
@@ -1369,6 +1370,7 @@ div#map_wrapper {
1369
1370
  &:hover, &.hover {
1370
1371
  fill: rgba(131, 131, 131, 0.40);
1371
1372
  stroke: rgba(251, 251, 251, 0.86);
1373
+ stroke-width: 3px;
1372
1374
  }
1373
1375
  }
1374
1376
 
@@ -1,3 +1,3 @@
1
1
  module C80MapFloors
2
- VERSION = '0.1.0.20'
2
+ VERSION = '0.1.0.21'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: c80_map_floors
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.20
4
+ version: 0.1.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - C80609A