Mediawiki:common.js

Вернуться

Строка 200: Строка 200:
     },
     },


    extractTitleFromCrimeCell: function (crimeCell, rawCode) {
extractTitleFromCrimeCell: function (crimeCell, rawCode) {
        var b = crimeCell.querySelector('b');
    var b = crimeCell.querySelector('b');
        var text = (b ? b.textContent : crimeCell.textContent) || '';
    var text = (b ? b.textContent : crimeCell.textContent) || '';
        text = text.replace(/\s+/g, ' ').trim();
    text = text.replace(/\s+/g, ' ').trim();


        text = text.replace(/^§\s*[\d]+(?:\.\s*[\d]+)*\s*/u, '').trim();
    // Новый формат: "§ 1.1 Название"
    text = text.replace(/^§\s*[\d]+(?:\.\s*[\d]+)*\s*/u, '').trim();


        if (!text) {
    // Старый формат: "200Название" / "200 Название" / "200. Название"
            var normalized = LawTooltipsModule.normalizeLawCode(rawCode);
    var normalizedCode = LawTooltipsModule.normalizeLawCode(rawCode);
            var escaped = normalized.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
    if (normalizedCode) {
            text = ((b ? b.textContent : crimeCell.textContent) || '')
        var escapedCode = normalizedCode.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
                .replace(/\s+/g, ' ')
        var legacyPrefix = new RegExp(
                .replace(new RegExp('^' + escaped + '\\s*', 'u'), '')
            '^(?:§\\s*_?\\s*)?' + escapedCode + '[\\s\\u00A0\\-–—:.,)]*',
                .trim();
            'u'
        }
        );
        text = text.replace(legacyPrefix, '').trim();
    }


        return text;
    return text;
    },
},


     extractExamplesFromExampleCell: function (exampleCell) {
     extractExamplesFromExampleCell: function (exampleCell) {