/*
 * SDK Pullenti Lingvo, version 4.33, fabruary 2026. Copyright (c) 2013-2026, Pullenti. All rights reserved. 
 * Non-Commercial Freeware and Commercial Software.
 * This class is generated using the converter Unisharping (www.unisharping.ru) from Pullenti C#.NET project. 
 * The latest version of the code is available on the site www.pullenti.ru
 */


const ReferentClass = require("./../../metadata/ReferentClass");
const InstrumentKind = require("./../InstrumentKind");

class MetaInstrumentBlock extends ReferentClass {
    
    constructor() {
        super();
        this.kindFeature = null;
    }
    
    static initialize() {
        const InstrumentBlockReferent = require("./../InstrumentBlockReferent");
        MetaInstrumentBlock.GLOBAL_META = new MetaInstrumentBlock();
        MetaInstrumentBlock.GLOBAL_META.kindFeature = MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_KIND, "Класс", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.UNDEFINED.toString(), "Неизвестный фрагмент", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.DOCUMENT.toString(), "Документ", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.INTERNALDOCUMENT.toString(), "Внутренний документ", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.APPENDIX.toString(), "Приложение", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.CONTENT.toString(), "Содержимое", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.HEAD.toString(), "Заголовочная часть", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.TAIL.toString(), "Хвостовая часть", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.NAME.toString(), "Название", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.NUMBER.toString(), "Номер", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.CASENUMBER.toString(), "Номер дела", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.CASEINFO.toString(), "Информация дела", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.EDITIONS.toString(), "Редакции", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.APPROVED.toString(), "Одобрен", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.ORGANIZATION.toString(), "Организация", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.DOCPART.toString(), "Часть документа", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.PLACE.toString(), "Место", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.SIGNER.toString(), "Подписант", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.SUBITEM.toString(), "Подпункт", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.INDENTION.toString(), "Абзац", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.CHAPTER.toString(), "Глава", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.PARAGRAPH.toString(), "Параграф", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.SUBPARAGRAPH.toString(), "Подпараграф", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.LISTHEAD.toString(), "Заголовок списка", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.LISTITEM.toString(), "Элемент списка", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.NOTICE.toString(), "Примечание", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.TYP.toString(), "Тип", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.SECTION.toString(), "Раздел", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.SUBSECTION.toString(), "Подраздел", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.CLAUSE.toString(), "Статья", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.CLAUSEPART.toString(), "Часть", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.DATE.toString(), "Дата", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.DIRECTIVE.toString(), "Директива", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.INDEX.toString(), "Оглавление", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.INDEXITEM.toString(), "Элемент оглавления", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.DOCREFERENCE.toString(), "Ссылка на документ", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.INITIATOR.toString(), "Инициатор", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.PREAMBLE.toString(), "Преамбула", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.ITEM.toString(), "Пункт", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.FOOTNOTE.toString(), "Сноска", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.KEYWORD.toString(), "Ключевое слово", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.COMMENT.toString(), "Комментарий", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.QUESTION.toString(), "Вопрос", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.CITATION.toString(), "Цитата", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.CONTACT.toString(), "Контакт", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.TABLE.toString(), "Таблица", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.TABLEROW.toString(), "Строка таблицы", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.TABLECELL.toString(), "Ячейка таблицы", null, null);
        MetaInstrumentBlock.GLOBAL_META.kindFeature.addValue(InstrumentKind.FORM.toString(), "Форма", null, null);
        let fi2 = MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_KIND2, "Класс (доп.)", 0, 1);
        for (let i = 0; i < MetaInstrumentBlock.GLOBAL_META.kindFeature.innerValues.length; i++) {
            fi2.addValue(MetaInstrumentBlock.GLOBAL_META.kindFeature.innerValues[i], MetaInstrumentBlock.GLOBAL_META.kindFeature.outerValues[i], null, null);
        }
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_CHILD, "Внутренний элемент", 0, 0).showAsParent = true;
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_NAME, "Наименование", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_NUMBER, "Номер", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_MINNUMBER, "Минимальный номер", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_SUBNUMBER, "Подномер", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_SUB2NUMBER, "Подномер второй", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_SUB3NUMBER, "Подномер третий", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_TAILNUMBER, "Номер в конце строки", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_VALUE, "Значение", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_REF, "Ссылка на объект", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_EXPIRED, "Утратил силу", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_ERROR, "Ошибка", 0, 1);
        MetaInstrumentBlock.GLOBAL_META.addFeature(InstrumentBlockReferent.ATTR_TABLECOLUMNS, "Число столбцов таблицы", 0, 1);
    }
    
    get name() {
        const InstrumentBlockReferent = require("./../InstrumentBlockReferent");
        return InstrumentBlockReferent.OBJ_TYPENAME;
    }
    
    get caption() {
        return "Блок документа";
    }
    
    getImageId(obj = null) {
        return MetaInstrumentBlock.PART_IMAGE_ID;
    }
    
    static static_constructor() {
        MetaInstrumentBlock.DOC_IMAGE_ID = "decree";
        MetaInstrumentBlock.PART_IMAGE_ID = "part";
        MetaInstrumentBlock.GLOBAL_META = null;
    }
}


MetaInstrumentBlock.static_constructor();

module.exports = MetaInstrumentBlock