Sha256: 3a41c40405fd8954758e2385c9c7d1aec308f540d95c2f80c7d479571eda8b9a

Contents?: true

Size: 1.92 KB

Versions: 1

Compression:

Stored size: 1.92 KB

Contents

"use strict";

// в задачи этого кода входит преобразование JSON объектов в human-читаемый текст с характеристиками

var MobjInfoParser = function () {

    var _this = this;

    // с помощью этого хелпера можно понять, например, что square это "общая площадь" (типа locales/ru.yml)
    var _i18n = null;

    /** Лабаем html текст из json-данных полигона Этажа/Здания/Площади
     *
     * @param json
     */
    this.makeHtmlText = function (json) {
        console.log("<makeHtmlText> Лабаем html текст из json данных полигона.");

        var result = "";

        //#-> предполагается, что json в поряде и данные целостны (т.е. уровнем выше была проверка json на корректность)
        switch (json["class_name"]) {
            case "C80MapFloors::Floor":
                result += _this._row('square', json);
                result += _this._row('square_free', json);
                result += _this._row('floor_height', json);
                result += _this._row('areas_count', json);
                result += _this._row('areas_free_count', json);
                result += _this._row('price_string', json);
            break;
        }

        result = "<ul>" + result + "</ul>";
        return result;

    };

    this._row = function (key, json) {
        var s = '';
        if (key == 'price_string') {
            s = "<li>" + json['data'][key] + "</li>";
        } else {
            s = "<li>" + _i18n.t(key) + ": " + "<span class='dd'>" + json['data'][key] + "</span>" + "</li>"
        }
        return s;
    };

    var _fInit = function () {

        // кастуем locales-помощника
        _i18n = new I18n();

    };

    _fInit();
};

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
c80_map_floors-0.1.0.4 app/assets/javascripts/view/building_info/mobj_info_parser.js