github.com/Azareal/Gosora@v0.0.0-20210729070923-553e66b59003/pubnot/trumbowyg/plugins/template/trumbowyg.template.js (about)

     1  (function($) {
     2      'use strict';
     3  
     4      // Adds the language variables
     5      $.extend(true, $.trumbowyg, {
     6          langs: {
     7              en: {
     8                  template: 'Template'
     9              },
    10              nl: {
    11                  template: 'Sjabloon'
    12              },
    13              ru: {
    14                  template: 'Шаблон'
    15              },
    16              ja: {
    17                  template: 'テンプレート'
    18              }
    19          }
    20      });
    21  
    22      // Adds the extra button definition
    23      $.extend(true, $.trumbowyg, {
    24          plugins: {
    25              template: {
    26                  shouldInit: function(trumbowyg) {
    27                      return trumbowyg.o.plugins.hasOwnProperty('templates');
    28                  },
    29                  init: function(trumbowyg) {
    30                      trumbowyg.addBtnDef('template', {
    31                          dropdown: templateSelector(trumbowyg),
    32                          hasIcon: false,
    33                          text: trumbowyg.lang.template
    34                      });
    35                  }
    36              }
    37          }
    38      });
    39  
    40      // Creates the template-selector dropdown.
    41      function templateSelector(trumbowyg) {
    42          var available = trumbowyg.o.plugins.templates;
    43          var templates = [];
    44  
    45          $.each(available, function(index, template) {
    46              trumbowyg.addBtnDef('template_' + index, {
    47                  fn: function(){
    48                      trumbowyg.html(template.html);
    49                  },
    50                  hasIcon: false,
    51                  title: template.name
    52              });
    53              templates.push('template_' + index);
    54          });
    55  
    56          return templates;
    57      }
    58  })(jQuery);