Dotclear

Changeset 3974:53b81e7f46dc


Ignore:
Timestamp:
06/18/19 14:03:43 (6 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Switching from inline JS variables to JSON script, it's time for the tags plugin

Location:
plugins/tags
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • plugins/tags/inc/tags.behaviors.php

    r3874 r3974  
    2323        if ($editor == 'dcLegacyEditor') { 
    2424            return 
    25             dcPage::jsLoad(dcPage::getPF('tags/js/legacy-post.js')) . 
    26             '<script type="text/javascript">' . "\n" . 
    27             "jsToolBar.prototype.elements.tag.title = '" . html::escapeJS(__('Tag')) . "';\n" . 
    28             "jsToolBar.prototype.elements.tag.url = '" . html::escapeJS($tag_url) . "';\n" . 
    29                 "</script>\n"; 
     25            dcPage::jsJson('legacy_editor_tags', [ 
     26                'tag' => [ 
     27                    'title' => __('tag'), 
     28                    'url'   => $tag_url 
     29                ] 
     30            ]) . 
     31            dcPage::jsLoad(dcPage::getPF('tags/js/legacy-post.js')); 
    3032        } elseif ($editor == 'dcCKEditor') { 
    3133            return 
    32             '<script type="text/javascript">' . "\n" . 
    33             "dotclear.msg.tag_title = '" . html::escapeJS(__('Tag')) . "';\n" . 
    34             "dotclear.msg.tag_url = '" . html::escapeJS($tag_url) . "';\n" . 
    35                 "</script>\n"; 
     34            dcPage::jsJson('ck_editor_tags', [ 
     35                'tag_title' => __('tag'), 
     36                'tag_url'   => $tag_url 
     37            ]); 
    3638        } 
    3739        return; 
     
    176178            $type = isset($opts['tag_list_format']) ? $opts['tag_list_format'] : 'more'; 
    177179 
     180            $editor_tags_options = [ 
     181                'meta_url'            => 'plugin.php?p=tags&m=tag_posts&amp;tag=', 
     182                'list_type'           => $type, 
     183                'text_confirm_remove' => __('Are you sure you want to remove this tag?'), 
     184                'text_add_meta'       => __('Add a tag to this entry'), 
     185                'text_choose'         => __('Choose from list'), 
     186                'text_all'            => __('all'), 
     187                'text_separation'     => __('Enter tags separated by comma') 
     188            ]; 
     189 
     190            $msg = [ 
     191                'tags_autocomplete' => __('used in %e - frequency %p%'), 
     192                'entry'             => __('entry'), 
     193                'entries'           => __('entries') 
     194            ]; 
     195 
    178196            $ap->beginPage( 
    179197                dcPage::breadcrumb( 
     
    184202                    ]), 
    185203                dcPage::jsMetaEditor() . 
    186                 '<script type="text/javascript">' . "\n" . 
    187                 "var editor_tags_options = {\n" . 
    188                 "meta_url : 'plugin.php?p=tags&m=tag_posts&amp;tag=',\n" . 
    189                 "list_type : '" . html::escapeJS($type) . "',\n" . 
    190                 "text_confirm_remove : '" . html::escapeJS(__('Are you sure you want to remove this tag?')) . "',\n" . 
    191                 "text_add_meta : '" . html::escapeJS(__('Add a tag to this entry')) . "',\n" . 
    192                 "text_choose : '" . html::escapeJS(__('Choose from list')) . "',\n" . 
    193                 "text_all : '" . html::escapeJS(__('all')) . "',\n" . 
    194                 "text_separation : '" . html::escapeJS(__('Enter tags separated by comma')) . "',\n" . 
    195                 "};\n" . 
    196                 "</script>\n" . 
     204                dcPage::jsJson('editor_tags_options', $editor_tags_options) . 
     205                dcPage::jsJson('editor_tags_msg', $msg) . 
    197206                dcPage::jsLoad('js/jquery/jquery.autocomplete.js') . 
    198207                dcPage::jsLoad(dcPage::getPF('tags/js/posts_actions.js')) . 
    199                 '<script type="text/javascript">' . "\n" . 
    200                 "dotclear.msg.tags_autocomplete = '" . html::escapeJS(__('used in %e - frequency %p%')) . "';\n" . 
    201                 "dotclear.msg.entry = '" . html::escapeJS(__('entry')) . "';\n" . 
    202                 "dotclear.msg.entries = '" . html::escapeJS(__('entries')) . "';\n" . 
    203                 "</script>\n" . 
    204208                dcPage::cssLoad(dcPage::getPF('tags/style.css')) 
    205209            ); 
     
    299303        $type = isset($opts['tag_list_format']) ? $opts['tag_list_format'] : 'more'; 
    300304 
     305        $editor_tags_options = [ 
     306            'meta_url'            => 'plugin.php?p=tags&m=tag_posts&amp;tag=', 
     307            'list_type'           => $type, 
     308            'text_confirm_remove' => __('Are you sure you want to remove this tag?'), 
     309            'text_add_meta'       => __('Add a tag to this entry'), 
     310            'text_choose'         => __('Choose from list'), 
     311            'text_all'            => __('all'), 
     312            'text_separation'     => __('Enter tags separated by comma') 
     313        ]; 
     314 
     315        $msg = [ 
     316            'tags_autocomplete' => __('used in %e - frequency %p%'), 
     317            'entry'             => __('entry'), 
     318            'entries'           => __('entries') 
     319        ]; 
     320 
    301321        return 
    302         '<script type="text/javascript">' . "\n" . 
    303         "var editor_tags_options = {\n" . 
    304         "meta_url : 'plugin.php?p=tags&m=tag_posts&amp;tag=',\n" . 
    305         "list_type : '" . html::escapeJS($type) . "',\n" . 
    306         "text_confirm_remove : '" . html::escapeJS(__('Are you sure you want to remove this tag?')) . "',\n" . 
    307         "text_add_meta : '" . html::escapeJS(__('Add a tag to this entry')) . "',\n" . 
    308         "text_choose : '" . html::escapeJS(__('Choose from list')) . "',\n" . 
    309         "text_all : '" . html::escapeJS(__('all')) . "',\n" . 
    310         "text_separation : '" . html::escapeJS(__('Enter tags separated by comma')) . "',\n" . 
    311         "};\n" . 
    312         "</script>\n" . 
     322        dcPage::jsJson('editor_tags_options', $editor_tags_options) . 
     323        dcPage::jsJson('editor_tags_msg', $msg) . 
    313324        dcPage::jsLoad('js/jquery/jquery.autocomplete.js') . 
    314325        dcPage::jsLoad(dcPage::getPF('tags/js/post.js')) . 
    315         '<script type="text/javascript">' . "\n" . 
    316         "dotclear.msg.tags_autocomplete = '" . html::escapeJS(__('used in %e - frequency %p%')) . "';\n" . 
    317         "dotclear.msg.entry = '" . html::escapeJS(__('entry')) . "';\n" . 
    318         "dotclear.msg.entries = '" . html::escapeJS(__('entries')) . "';\n" . 
    319         "</script>\n" . 
    320326        dcPage::cssLoad(dcPage::getPF('tags/style.css')); 
    321327    } 
  • plugins/tags/js/ckeditor-tags-plugin.js

    r3880 r3974  
    1 /*global $, dotclear, CKEDITOR */ 
     1/*global $, dotclear, CKEDITOR, getData */ 
    22'use strict'; 
     3 
     4object.assign(dotclear.msg, getData('ck_editor_tags')); 
    35 
    46(function() { 
  • plugins/tags/js/legacy-post.js

    r3880 r3974  
    1 /*global dotclear, jsToolBar */ 
     1/*global dotclear, jsToolBar, mergeDeep, getData */ 
    22'use strict'; 
     3 
     4mergeDeep(jsToolBar.prototype.elements, getData('legacy_editor_tags')); 
    35 
    46// Toolbar button for tags 
  • plugins/tags/js/post.js

    r3880 r3974  
    1 /*global $, dotclear, metaEditor, editor_tags_options */ 
     1/*global $, dotclear, metaEditor, mergeDeep, getData */ 
    22'use strict'; 
     3 
     4mergeDeep(dotclear.msg, getData('editor_tags_msg')); 
    35 
    46$(function() { 
     
    1517        meta_field.val($('#post_tags').val()); 
    1618      } 
    17       mEdit = new metaEditor(tags_edit, meta_field, 'tag', editor_tags_options); 
     19      mEdit = new metaEditor(tags_edit, meta_field, 'tag', getData('editor_tags_options')); 
    1820      mEdit.meta_url = 'plugin.php?p=tags&m=tag_posts&amp;tag='; 
    1921      mEdit.displayMeta('tag', post_id); 
  • plugins/tags/js/posts_actions.js

    r3880 r3974  
    1 /*global $, dotclear, metaEditor, editor_tags_options */ 
     1/*global $, dotclear, metaEditor, getData */ 
    22'use strict'; 
     3 
     4mergeDeep(dotclear.msg, getData('editor_tags_msg')); 
    35 
    46$(function() { 
     
    911 
    1012  const target = $('#tags_list'); 
    11   let mEdit = new metaEditor(target, tag_field, 'tag', editor_tags_options); 
     13  let mEdit = new metaEditor(target, tag_field, 'tag', getData('editor_tags_options')); 
    1214  mEdit.meta_url = 'plugin.php?p=tags&m=tag_posts&amp;tag='; 
    1315 
  • plugins/tags/tag_posts.php

    r3874 r3974  
    7070<head> 
    7171    <title><?php echo __('Tags'); ?></title> 
    72     <?php echo dcPage::cssLoad(dcPage::getPF('tags/style.css')); ?> 
    73     <?php echo dcPage::jsLoad('js/_posts_list.js'); ?> 
    74     <script type="text/javascript"> 
    75         dotclear.msg.confirm_tag_delete = '<?php echo html::escapeJS(sprintf(__('Are you sure you want to remove tag: “%s”?'), html::escapeHTML($tag))) ?>'; 
    76         $(function() { 
    77             $('#tag_delete').submit(function() { 
    78                 return window.confirm(dotclear.msg.confirm_tag_delete); 
    79             }); 
    80         }); 
    81     </script> 
    82     <?php echo dcPage::jsConfirmClose('tag_rename'); ?> 
     72<?php 
     73echo dcPage::cssLoad(dcPage::getPF('tags/style.css')) . 
     74dcPage::jsLoad('js/_posts_list.js') . 
     75dcPage::jsJson('posts_tags_msg', [ 
     76    'confirm_tag_delete' => sprintf(__('Are you sure you want to remove tag: “%s”?'), html::escapeHTML($tag)) 
     77]) . 
     78dcPage::jsLoad(dcPage::getPF('tags/js/posts.js')) . 
     79dcPage::jsConfirmClose('tag_rename'); 
     80?> 
    8381</head> 
    8482<body> 
Note: See TracChangeset for help on using the changeset viewer.

Sites map