MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
(@requires: MediaWiki:WikiEditor-insert-Zitat.js)
(+markHiddenFormFields())
Zeile 50: Zeile 50:
 
       ($.jI18n.en[resourceKey]) ? $.jI18n.en[resourceKey] : 'MISSING RESOURCE: no $.jI18n.en.' + resourceKey + ' defined.');
 
       ($.jI18n.en[resourceKey]) ? $.jI18n.en[resourceKey] : 'MISSING RESOURCE: no $.jI18n.en.' + resourceKey + ' defined.');
 
};
 
};
 +
 +
 +
/**
 +
* @description: formats background of form elements created by template:Hidden,
 +
  CSS .collapsecontent specific to Offene-Naturführer
 +
* @requires https://www.mediawiki.org/wiki/Extension:Semantic_Forms
 +
* @requires CSS class indicateHiddenInputs or other fields
 +
* @requires CSS class indicateFilledFormElements
 +
* @returns {undefined}
 +
*/
 +
window.markHiddenFormFields = function () {
 +
  'use strict';
 +
  var jDivHiddenFormTexts = $(
 +
    // select all inputs that have definite values
 +
      'div.collapsecontent.indicateHiddenInputs * input'
 +
    ).filter(
 +
      function () { return this.value.length > 0; }
 +
    )
 +
    .add(
 +
    // select only textarea not being empty
 +
      'div.collapsecontent.indicateHiddenInputs * textarea:not(:empty)'
 +
    ),
 +
    /*
 +
    pale orange:
 +
    hsv →  36 20 99 36 10 99  36 05 99
 +
          #fce8ca  #fcf2e3  #fcf7f0
 +
    pale yellow
 +
    hsv → 50 18 100  50 10 100
 +
          #fff7d0    #fffbe6
 +
    */
 +
    bgcolor =      {'background-color':'#fffbe6'},
 +
    bgcolor_darker = {'background-color':'#fff7d0'};
 +
 +
// <div>
 +
  if (jDivHiddenFormTexts.length) {
 +
    jDivHiddenFormTexts
 +
      .closest('.collapsebox')
 +
      .css({'border-left': '2px solid #ce5c00'})
 +
      .find('div.switcher')
 +
      .css(bgcolor_darker);
 +
    //indicate the fields itself
 +
    jDivHiddenFormTexts
 +
      .css(bgcolor); //pale orange
 +
    return true;
 +
  } else {
 +
    return null;
 +
  }
 +
// <td> implement in Template:Hidden
 +
}; // markHiddenFormFields()
  
  
Zeile 72: Zeile 121:
 
   break;
 
   break;
 
}
 
}
 +
jQuery(document).ready(function($) {
 +
  if(mw.config.get( 'wgAction' )==='formedit'
 +
  || mw.config.get( 'wgCanonicalSpecialPageName' )==='FormEdit'){
 +
  // initConfirmDeleteSubform();
 +
    markHiddenFormFields();
 +
  }
 +
)};

Version vom 27. Juni 2018, 10:56 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
/*
 * @requires: MediaWiki:Mw-customcollapsible.js
 * @requires: MediaWiki:WikiEditor-insert-Zitat.js
 */
 
/**
 * global resource string dictionary
 *
 * $.jI18n[iso-language-cod][resourceKey], e.g.
 * $.jI18n = { 
 *   en: { CollapseBox_captionCollapse : '(show less)' },
 *   de: { CollapseBox_captionCollapse : '(weniger anzeigen)' }
 * };
 * 
 * Nomenclature proposal: if an extra plugin is used, strings can be designated by prefixing them:
 * “plugin_toolTipSomthing” otherwise just “toolTipSomthing” (global string). So it’s more clear if
 * a string is intended to be global or plugin specific.
 * @augments $
 * @type object
 */
$.jI18n = {
  de: {
    CollapseBox_captionCollapse :        '&nbsp;(weniger anzeigen)&nbsp;',
    CollapseBox_captionExpand :          '&nbsp;(mehr...)&nbsp;',
    CollapseBox_toolTipCollapse :        '(klicken um Zusatzinformationen zu verbergen)',
    CollapseBox_toolTipExpand :          '(klicken um Zusatzinformationen anzuzeigen)'
  },
  en: {
    CollapseBox_captionCollapse :        '&nbsp;(show less)&nbsp;',
    CollapseBox_captionExpand :          '&nbsp;(more...)&nbsp;',
    CollapseBox_toolTipCollapse :        '(click to hide information below)',
    CollapseBox_toolTipExpand :          '(click to show more information below)'
  }
};
/**
 * @description Get resource string (e.g. text messages, image URLs) for a given language, based on a string-key
 *  If no resource is defined in a given language for a resource key, the resource for 'en' will be returned,
 *  if this is missing as well an error message is returned “MISSING RESOURCE: ...”.
 * @augments $
 * @requires mw.config for getting global variables
 * @requires $.jI18n global language resource keys and their translated strings
 * @param {string} resourceKey key for the resource
 * @returns {String}
 */
$.resource = function (resourceKey) {
  var lang = mw.config.get('wgUserLanguage').split('-')[0]; // language: 'pt-BR', 'de-formal', etc.
  return ($.jI18n[lang] && $.jI18n[lang][resourceKey] ?
      $.jI18n[lang][resourceKey] :
      ($.jI18n.en[resourceKey]) ? $.jI18n.en[resourceKey] : 'MISSING RESOURCE: no $.jI18n.en.' + resourceKey + ' defined.');
};


/**
 * @description: formats background of form elements created by template:Hidden,
   CSS .collapsecontent specific to Offene-Naturführer
 * @requires https://www.mediawiki.org/wiki/Extension:Semantic_Forms
 * @requires CSS class indicateHiddenInputs or other fields
 * @requires CSS class indicateFilledFormElements
 * @returns {undefined}
 */
window.markHiddenFormFields = function () {
  'use strict';
  var jDivHiddenFormTexts = $(
    // select all inputs that have definite values
      'div.collapsecontent.indicateHiddenInputs * input'
    ).filter(
      function () { return this.value.length > 0; }
    )
    .add(
    // select only textarea not being empty
      'div.collapsecontent.indicateHiddenInputs * textarea:not(:empty)'
    ),
    /*
    pale orange:
    hsv →  36 20 99 36 10 99  36 05 99
           #fce8ca  #fcf2e3   #fcf7f0
    pale yellow
    hsv → 50 18 100  50 10 100
          #fff7d0    #fffbe6
    */
    bgcolor =       {'background-color':'#fffbe6'},
    bgcolor_darker = {'background-color':'#fff7d0'};

// <div>
  if (jDivHiddenFormTexts.length) {
    jDivHiddenFormTexts
      .closest('.collapsebox')
      .css({'border-left': '2px solid #ce5c00'})
      .find('div.switcher')
      .css(bgcolor_darker);
    //indicate the fields itself
    jDivHiddenFormTexts
      .css(bgcolor); //pale orange
    return true;
  } else {
    return null;
  }
// <td> implement in Template:Hidden
}; // markHiddenFormFields()


///////////////////////
// Load scripts page specific:
switch (mw.config.get( 'wgPageName' )) { // Minimize the pages on which the code will be loaded
  case 'Hilfe:Gemeinfreie_Patente_(Public_Domain)':
  case 'Benutzer:Andreas_Plank/Hilfe_–_Gemeinfreie_Patente_(Public_Domain)':
    mw.loader.load( mw.config.get('wgScriptPath') + '/index.php?title=MediaWiki:SearchTools.js&action=raw&ctype=text/javascript' );
  break;
};
///////////////////////

// click-text modifications for mw-customcollapsible triggering from outside of mw-collapsible
mw.loader.load( mw.config.get('wgScriptPath') + '/index.php?title=MediaWiki:Mw-customcollapsible.js&action=raw&ctype=text/javascript' );

switch (mw.config.get('wgAction')) {
  case 'edit':
  case 'submit':
    // Wizard to insert template:Zitat
    mw.loader.load( mw.config.get('wgScriptPath') + '/index.php?title=MediaWiki:WikiEditor-insert-Zitat.js&action=raw&ctype=text/javascript' );
  break;
}
jQuery(document).ready(function($) {
  if(mw.config.get( 'wgAction' )==='formedit'
  || mw.config.get( 'wgCanonicalSpecialPageName' )==='FormEdit'){
   // initConfirmDeleteSubform();
    markHiddenFormFields();
  }
)};