bibcite_footnotes-8.x-1.0-beta3/js/plugins/reference_footnotes/dialogs/footnotes.js

js/plugins/reference_footnotes/dialogs/footnotes.js
(function() {
    function referenceFootnotesDialog( editor, isEdit ) {
        return {
            title : Drupal.t('Reference Footnotes Dialog'),
            minWidth : 500,
            minHeight : 50,
            contents : [
                {
                    id: 'info',
                    label: Drupal.t('Add a reference footnote'),
                    title: Drupal.t('Add a reference footnote'),
                    elements:
                        [
                          {
                            id: 'reference',
                            type: 'select',
                            items: [[" - None - ", 0]].concat(typeof(drupalSettings.bibcite_footnotes) !== 'undefined' ? drupalSettings.bibcite_footnotes.references : []),
                            label: Drupal.t('Reference Footnote item:'),
                            setup: function (element) {
                              if (isEdit)
                                this.setValue(element.getAttribute('reference'));
                            }
                          },
                          {
                            id: 'footnote',
                            type: 'textarea',
                            label: Drupal.t('Or add free-form footnote text :'),
                            setup: function (element) {
                                if (isEdit) {
                                  var markup = element.getHtml();

                                  this.setValue(markup);

                                }
                            }
                          },
                          {
                            id: 'html-help',
                            type: 'html',
                            html: 'HTML tags can be used, e.g., <strong>, <em>, <a href="...">',
                          },
                          {
                            id: 'page',
                            type: 'text',
                            labelLayout: 'horizontal',
                            label: Drupal.t('Page(s):'),
                            style: 'float:left:width:50px',
                            setup: function (element) {
                              if (isEdit) {
                                this.setValue(element.getAttribute('page'));
                              }
                            }
                          },
                            {
                                id: 'value',
                                type: 'text',
                                label: Drupal.t('Value :'),
                                labelLayout: 'horizontal',
                                style: 'float:left;width:200px;',
                                setup: function (element) {
                                    if (isEdit)
                                        this.setValue(element.getAttribute('value'));
                                }

                            },
                          {
                            id: 'value-help',
                            type: 'html',
                            html: 'Leave blank for an automatic sequential reference number, or enter a custom footnote value',
                          }
                        ],
                }
            ],
            onShow : function() {
              if (isEdit) {
                this.fakeObj = CKEDITOR.plugins.reference_footnotes.getSelectedFootnote(editor);
                this.realObj = editor.restoreRealElement(this.fakeObj);
              }
              var select = this.parts.contents.$.getElementsByTagName('select');
              var selectBox = select.item(0);
              // Remove all but the default 'None' item from teh list.
              var i;
              for (i = selectBox.options.length - 1; i >= 1; i--) {
                selectBox.remove(i)
              }

              // Re-add buttons from the current state of Settings.
              if (typeof (drupalSettings.bibcite_footnotes) !== 'undefined') {

                drupalSettings.bibcite_footnotes.references.forEach(function (reference) {
                  var newReference = document.createElement('option');
                  newReference.text = reference[0];
                  newReference.setAttribute("value", reference[1]);
                  selectBox.add(newReference);
                });
              }
              this.setupContent( this.realObj );
            },
            onOk : function() {
                var referenceNote = this.getValueOf('info', 'reference');
                var textNote = this.getValueOf('info', 'footnote');
                var page = this.getValueOf('info', 'page');
                CKEDITOR.plugins.reference_footnotes.createFootnote( editor, this.realObj, textNote, this.getValueOf('info', 'value'), referenceNote, page);
                delete this.fakeObj;
                delete this.realObj;
            }
        }
    }

    CKEDITOR.dialog.add( 'createreferencefootnotes', function( editor ) {
        return referenceFootnotesDialog( editor );
    });
    CKEDITOR.dialog.add( 'editreferencefootnotes', function( editor ) {
        return referenceFootnotesDialog( editor, 1 );
    });
})();

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc