Projet

Général

Profil

Révision da542b7b

Ajouté par Assos Assos il y a plus de 7 ans

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/media_ckeditor/js/plugins/media/plugin.js
86 86
        data = Drupal.media.filter.replaceTokenWithPlaceholder(data);
87 87
        // Legacy media wrapper.
88 88
        mediaPluginDefinition.mediaLegacyWrappers = (data.indexOf("<!--MEDIA-WRAPPER-START-") !== -1);
89
        data = data.replace(/<!--MEDIA-WRAPPER-START-(\d+)-->(.*?)<!--MEDIA-WRAPPER-END-\d+-->/gi, '<mediawrapper data="$1">$2</mediawrapper>');
89
        if (mediaPluginDefinition.mediaLegacyWrappers) {
90
          data = data.replace(/<!--MEDIA-WRAPPER-START-(\d+)-->(.*?)<!--MEDIA-WRAPPER-END-\d+-->/gi, '<mediawrapper data="$1">$2</mediawrapper>');
91
        }
90 92
        return data;
91 93
      }
92 94
      function prepareDataForSourceMode(data) {
......
95 97
        if (mediaPluginDefinition.mediaLegacyWrappers) {
96 98
          replacement = '<!--MEDIA-WRAPPER-START-$1-->$2<!--MEDIA-WRAPPER-END-$1-->';
97 99
        }
98
        data = data.replace(/<mediawrapper data="(.*)">(.*?)<\/mediawrapper>/gi, replacement);
100
        data = data.replace(/<mediawrapper data="(.*?)">(.*?)<\/mediawrapper>/gi, replacement);
99 101
        data = Drupal.media.filter.replacePlaceholderWithToken(data);
100 102
        return data;
101 103
      }
......
106 108
        editor.widgets.add( 'mediabox',
107 109
        {
108 110
          button: 'Create a mediabox',
109
          template: '<mediawrapper></mediawrapper>',
110 111
          editables: {},
111 112
          allowedContent: '*',
112 113
          upcast: function( element ) {
113
            if (element.name != 'mediawrapper') {
114
              // Ensure media tokens are converted to media placeholdes.
115
              element.setHtml(prepareDataForWysiwygMode(element.getHtml()));
114
            // Ensure media tokens are converted to media placeholders.
115
            html = Drupal.media.filter.replaceTokenWithPlaceholder(element.getHtml());
116
            // Only replace html if it's different
117
            if (html != element.getHtml()) {
118
              element.setHtml(html);
116 119
            }
117
            return element.name == 'mediawrapper';
120
            return element.name == 'mediawrapper' || 'data-media-element' in element.attributes;
118 121
          },
119 122

  
120 123
          downcast: function( widgetElement ) {
121
            var token = prepareDataForSourceMode(widgetElement.getOuterHtml());
122
            return new CKEDITOR.htmlParser.text(token);
123
            return element.name == 'mediawrapper';
124
            var token = Drupal.media.filter.replacePlaceholderWithToken(widgetElement.getOuterHtml());
125
            if (token) {
126
              return new CKEDITOR.htmlParser.text(token);
127
            }
128
            return false;
124 129
          }
125 130
        });
126 131
      }

Formats disponibles : Unified diff