| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- (function ($) {
- 'use strict';
- $.extend(true, $.trumbowyg, {
- langs: {
- // jshint camelcase:false
- en: {
- lineheight: 'Line height',
- lineheights: {
- '0.9': 'Small',
- 'normal': 'Regular',
- '1.5': 'Large',
- '2.0': 'Extra large'
- }
- },
- da: {
- lineheight: 'Linjehøjde',
- lineheights: {
- '0.9': 'Lille',
- 'normal': 'Normal',
- '1.5': 'Stor',
- '2.0': 'Ekstra stor'
- }
- },
- fr: {
- lineheight: 'Hauteur de ligne',
- lineheights: {
- '0.9': 'Petite',
- 'normal': 'Normale',
- '1.5': 'Grande',
- '2.0': 'Très grande'
- }
- },
- hu: {
- lineheight: 'Line height',
- lineheights: {
- '0.9': 'Small',
- 'normal': 'Regular',
- '1.5': 'Large',
- '2.0': 'Extra large'
- }
- },
- it: {
- lineheight: 'Altezza linea',
- lineheights: {
- '0.9': 'Bassa',
- 'normal': 'Normale',
- '1.5': 'Alta',
- '2.0': 'Molto alta'
- }
- },
- ko: {
- lineheight: '줄 간격',
- lineheights: {
- '0.9': '좁게',
- 'normal': '보통',
- '1.5': '넓게',
- '2.0': '아주 넓게'
- }
- },
- nl: {
- lineheight: 'Regelhoogte',
- lineheights: {
- '0.9': 'Klein',
- 'normal': 'Normaal',
- '1.5': 'Groot',
- '2.0': 'Extra groot'
- }
- },
- pt_br: {
- lineheight: 'Altura de linha',
- lineheights: {
- '0.9': 'Pequena',
- 'normal': 'Regular',
- '1.5': 'Grande',
- '2.0': 'Extra grande'
- }
- },
- tr: {
- lineheight: 'Satır yüksekliği',
- lineheights: {
- '0.9': 'Küçük',
- 'normal': 'Normal',
- '1.5': 'Büyük',
- '2.0': 'Çok Büyük'
- }
- },
- zh_tw: {
- lineheight: '文字間距',
- lineheights: {
- '0.9': '小',
- 'normal': '正常',
- '1.5': '大',
- '2.0': '特大'
- }
- },
- }
- });
- // jshint camelcase:true
- var defaultOptions = {
- sizeList: [
- '0.9',
- 'normal',
- '1.5',
- '2.0'
- ]
- };
- // Add dropdown with font sizes
- $.extend(true, $.trumbowyg, {
- plugins: {
- lineheight: {
- init: function (trumbowyg) {
- trumbowyg.o.plugins.lineheight = $.extend({},
- defaultOptions,
- trumbowyg.o.plugins.lineheight || {}
- );
- trumbowyg.addBtnDef('lineheight', {
- dropdown: buildDropdown(trumbowyg)
- });
- }
- }
- }
- });
- // Build the dropdown
- function buildDropdown(trumbowyg) {
- var dropdown = [];
- $.each(trumbowyg.o.plugins.lineheight.sizeList, function(index, size) {
- trumbowyg.addBtnDef('lineheight_' + size, {
- text: trumbowyg.lang.lineheights[size] || size,
- hasIcon: false,
- fn: function(){
- trumbowyg.saveRange();
- var text = trumbowyg.getRangeText();
- if (text.replace(/\s/g, '') !== '') {
- try {
- var parent = getSelectionParentElement();
- $(parent).css('lineHeight', size);
- } catch (e) {
- }
- }
- }
- });
- dropdown.push('lineheight_' + size);
- });
- return dropdown;
- }
- // Get the selection's parent
- function getSelectionParentElement() {
- var parentEl = null,
- selection;
- if (window.getSelection) {
- selection = window.getSelection();
- if (selection.rangeCount) {
- parentEl = selection.getRangeAt(0).commonAncestorContainer;
- if (parentEl.nodeType !== 1) {
- parentEl = parentEl.parentNode;
- }
- }
- } else if ((selection = document.selection) && selection.type !== 'Control') {
- parentEl = selection.createRange().parentElement();
- }
- return parentEl;
- }
- })(jQuery);
|