ФорумСообществоНаш форум → Цитирование выделенного текста

Цитирование выделенного текста

  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 21 февраля 2015 г. 14:46, спустя 1818 дней 17 минут

    UP!!!

    Спустя 27 сек.

    второй раз предлагаю ))
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 21 февраля 2015 г. 17:49, спустя 3 часа 2 минуты 38 секунд

    Так кто предлагает, тот и делает, правила пыхи. Напиши на жс скрипт, я его подключу, не вопрос

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 21 февраля 2015 г. 18:01, спустя 11 минут 54 секунды

    @kostyl, up)

    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 февраля 2015 г. 0:54, спустя 6 часов 52 минуты 56 секунд

    Кароче, я не шарю в жабаскрипте и у вас же бля на сервере обработка идет, поэтому я не стал делать всё )). Вот замени клик на эту хрень:

    $('li.post > div > div > p > span > a.quote').click(function() {

    function getSelection() {
    var text = "", element = null;
    if (typeof window.getSelection != "undefined") {
    var sel = window.getSelection();
    if (sel.rangeCount) {
    var node = sel.getRangeAt(0).commonAncestorContainer;
    element = node.nodeType == 1 ? node : node.parentNode;
    text = sel.toString();
    }
    } else if (typeof document.selection != "undefined" &&
    document.selection.type != "Control") {
    var textRange = document.selection.createRange();
    element = textRange.parentElement();
    text = textRange.text;
    }
    return {
    isValid: (element != null && text != ""),
    selectedText: text,
    containerElement: element
    };
    }

    var post_msgID = $(this).parent().parent().parent().parent().parent().find('a:first').attr('name');
    var post_date = $(this).parent().siblings('a').html();
    var user_login = $(this).parent().parent().parent().parent().find('div:first > p > a').html();
    var formatter = $('#switcher option:selected').val() || 'bbcode';
    var editorIsUsingBBCode = ($('#switcher').length && formatter == 'bbcode');

    var selection = getSelection();
    if (selection.isValid) {
    if ($(this).parents('li.post').has(selection.containerElement).length) {
    $('#id_message').focus();
    var selectedText = selection.selectedText;
    var text = $('#id_message').val().length > 0 ? "\n" : "";
    if (editorIsUsingBBCode) {
    text += '[' + 'quote' + ']' + selectedText + '\n@' + user_login + ', '
    } else {
    text += "> " + selectedText.replace(/\n/g, '\n> ') + '\n\n**@' + user_login + '**, '
    }
    $.markItUp( {
    replaceWith: text
    });
    $.scrollTo('#id_message');
    } else {
    alert('Выделять там, нажимать тут - не порядок!');
    }
    } else {
    var text = $.get('/forum/quote/' + post_msgID + '/' + formatter + '/', function(response) {
    $('#id_message').focus();
    var text = response['text'];
    if (editorIsUsingBBCode) {
    text += '\n@' + user_login + ', '
    } else {
    text += '\n\n**@' + user_login + '**, '
    }
    $.markItUp({
    replaceWith: text
    });
    $.scrollTo('#id_message');
    }, 'json');
    }

    return false;
    });
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 февраля 2015 г. 1:10, спустя 16 минут 35 секунд

    styl, up)

    @adw0rd, up )))
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 февраля 2015 г. 1:43, спустя 32 минуты 17 секунд

    Блин бб-коды пожирают сами себя, вот попроавил чтобы всё было норм:

    $('li.post > div > div > p > span > a.quote').mouseover(function() {

    function getSelection() {
    var text = "", element = null;
    if (typeof window.getSelection != "undefined") {
    var sel = window.getSelection();
    if (sel.rangeCount) {
    var node = sel.getRangeAt(0).commonAncestorContainer;
    element = node.nodeType == 1 ? node : node.parentNode;
    text = sel.toString();
    }
    } else if (typeof document.selection != "undefined" &&
    document.selection.type != "Control") {
    var textRange = document.selection.createRange();
    element = textRange.parentElement();
    text = textRange.text;
    }
    return {
    isValid: (element != null && text != ""),
    selectedText: text,
    containerElement: element
    };
    }

    var post_msgID = $(this).parent().parent().parent().parent().parent().find('a:first').attr('name');
    var post_date = $(this).parent().siblings('a').html();
    var user_login = $(this).parent().parent().parent().parent().find('div:first > p > a').html();
    var formatter = $('#switcher option:selected').val() || 'bbcode';
    var editorIsUsingBBCode = ($('#switcher').length && formatter == 'bbcode');

    var selection = getSelection();
    if (selection.isValid) {
    if ($(this).parents('li.post').has(selection.containerElement).length) {
    $('#id_message').focus();
    var selectedText = selection.selectedText;
    var text = $('#id_message').val().length > 0 ? "\n" : "";
    if (editorIsUsingBBCode) {
    text += '
    ' + selectedText + '[' + '/quote' + ']\n@' + user_login + ', '
    } else {
    text += "> " + selectedText.replace(/\n/g, '\n> ') + '\n\n**@' + user_login + '**, '
    }
    $.markItUp( {
    replaceWith: text
    });
    $.scrollTo('#id_message');
    } else {
    alert('Выделять там, нажимать тут - не порядок!');
    }
    } else {
    var text = $.get('/forum/quote/' + post_msgID + '/' + formatter + '/', function(response) {
    $('#id_message').focus();
    var text = response['text'];
    if (editorIsUsingBBCode) {
    text += '\n@' + user_login + ', '
    } else {
    text += '\n\n**@' + user_login + '**, '
    }
    $.markItUp({
    replaceWith: text
    });
    $.scrollTo('#id_message');
    }, 'json');
    }

    return false;
    });

  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 февраля 2015 г. 1:48, спустя 5 минут 38 секунд

    бля еще маусовер оставил от грисманки
    @adw0rd, короче прилепил файл
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 февраля 2015 г. 1:57, спустя 8 минут 48 секунд

    у нас, если что, github gist можно вставить)

  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 февраля 2015 г. 2:07, спустя 9 минут 50 секунд

    у нас, если что, github gist можно вставить)

    @Sinkler, ок, типа ссылку так?
    https://gist.github.com/Koshub/a39655478f7e8ffc8df1
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 февраля 2015 г. 2:12, спустя 5 минут 7 секунд

    может сломали уже :D

  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 февраля 2015 г. 2:17, спустя 4 минуты 38 секунд

    а ну
    https://gist.github.com/Koshub/a39655478f7e8ffc8df1#file-gistfile1-js

    Спустя 65 сек.

    та ну нах ))
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 22 февраля 2015 г. 2:20, спустя 54 секунды

    ну да
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 22 февраля 2015 г. 2:20, спустя 11 секунд

    ну что поделать)

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 22 февраля 2015 г. 2:25, спустя 5 минут 5 секунд

    http://gist.github.com/Koshub/a39655478f7e8ffc8df1

    Спустя 16 сек.

    всрали в общем функицонал. явно эдво сломал. зуб даю

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!