Difference between revisions of "MediaWiki:Common.js"

From SacredWiki
Jump to navigation Jump to search
m
 
(45 intermediate revisions by the same user not shown)
Line 47: Line 47:
 
   }
 
   }
  
function initialize() {
+
var customizeToolbar = function() {
  // create the map
+
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
  var myOptions = {
+
        'section': 'main',
    zoom: zoom,
+
        'group': 'insert',
    center: new google.maps.LatLng(lat,lng),
+
        'tools': {
    backgroundColor: '#f0e0be',
+
                'S1link': {
    mapTypeId: maptype
+
                        label: 'Sacred 1 Link', // or use labelMsg for a localized label, see above
 +
                        type: 'button',
 +
                        icon: 'S1link.jpg',
 +
'action': {
 +
'type': 'encapsulate',
 +
'options': {
 +
'pre': "[[Sacred:",
 +
'peri': 'Page Name you want to link to',
 +
'post': "|]]"
 +
}
 +
}
 +
          },
 +
                'S2link': {
 +
                        label: 'Sacred 2 Link', // or use labelMsg for a localized label, see above
 +
                        type: 'button',
 +
                        icon: 'S2link.jpg',
 +
'action': {
 +
'type': 'encapsulate',
 +
'options': {
 +
'pre': "[[Sacred 2:",
 +
'peri': 'Page Name you want to link to',
 +
'post': "|]]"
 +
}
 +
}
 +
},
 +
                'Quest': {
 +
                        label: 'Quest Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
 +
                        type: 'button',
 +
                        icon: 'quest.png',
 +
'action': {
 +
'type': 'encapsulate',
 +
'options': {
 +
'pre': "{{subst:Quest",
 +
'post': "}}"
 +
}
 +
}
 +
},
 +
                'ChainQuest': {
 +
                        label: 'Chain Quest Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
 +
                        type: 'button',
 +
                        icon: 'chainquest.png',
 +
'action': {
 +
'type': 'encapsulate',
 +
'options': {
 +
'pre': "{{subst:ChainQuest",
 +
'post': "}}"
 +
}
 +
}
 +
},
 +
                'Place': {
 +
                        label: 'Place Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
 +
                        type: 'button',
 +
                        icon: 'place.png',
 +
'action': {
 +
'type': 'encapsulate',
 +
'options': {
 +
'pre': "{{subst:Place",
 +
'post': "}}"
 +
}
 +
}
 +
},
 +
                'NPC': {
 +
                        label: 'NPC Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
 +
                        type: 'button',
 +
                        icon: 'NPC.png',
 +
'action': {
 +
'type': 'encapsulate',
 +
'options': {
 +
'pre': "{{subst:NPC",
 +
'post': "}}"
 +
}
 +
}
 +
},
 +
/*                'TEST': {
 +
                        label: 'TESTing',
 +
                        type: 'button',
 +
                        icon: 'NPC.png',
 +
'action': {
 +
                            'type':'dialog',
 +
                                'module':'insert-link'
 +
}
 +
}
 +
}, */
 +
                'S2Frame': {
 +
                        label: 'Sacred 2 Frame to put around images and videos',
 +
                        type: 'button',
 +
                        icon: 's2frame.png',
 +
'action': {
 +
'type': 'encapsulate',
 +
'options': {
 +
'pre': "{{s2frame|",
 +
'post': "|none}}"
 +
}
 +
}
 +
},
 +
                'Dialogue': {
 +
                        label: 'S2 Dialogue Template. Push the preview to see results', // or use labelMsg for a localized label, see above
 +
                        type: 'button',
 +
                        icon: 'dialogue.png',
 +
'action': {
 +
'type': 'encapsulate',
 +
'options': {
 +
'pre': "{{S2 Dialogue|NPC NAME=NPCNAME|PORTRAIT FILE NAME=NoPicDialog.png|DIALOGUE=<poem>",
 +
'peri': 'TYPEtextHERE',
 +
'post': "</poem>}}"
 +
}
 +
}
 +
}
 +
        }
 +
} );
 
}
 
}
 
 
  map = new google.maps.Map(document.getElementById("map_canvas"),
 
                                myOptions);
 
 
   
 
   
    var S2Options = {
+
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar . . . */
      getTileUrl: function(coord, zoom) {
+
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
        return "http://www.darkmatters.org/Map/MainMap/"+zoom+"_"+coord.x+"_"+coord.y+".jpg";
+
        mw.loader.using( 'user.options', function () {
      },  
+
                if ( mw.user.options.get('usebetatoolbar') ) {
      tileSize: new google.maps.Size(256, 256),
+
                        mw.loader.using( 'ext.wikiEditor.toolbar', function () {
      isPng: false
+
                                $(document).ready( customizeToolbar );
    };
+
                        } );
 
+
                }
    var S2 = new google.maps.ImageMapType(S2Options);
+
         } );
    S2.name = "Main Map";
+
}
    S2.maxZoom = 7;
 
    S2.minZoom = 2;
 
    map.mapTypes.set('S2', S2);
 
 
 
 
 
var dungeonOptions = {
 
      getTileUrl: function(coord, zoom) {
 
        return "http://www.darkmatters.org/Map/Dungeons/"+zoom+"_"+coord.x+"_"+coord.y+".jpg";
 
      },
 
      tileSize: new google.maps.Size(256, 256),
 
      isPng: false
 
    };
 
 
 
    var dungeons = new google.maps.ImageMapType(dungeonOptions);
 
    dungeons.name = "Dungeons";
 
    dungeons.maxZoom = 7;
 
    dungeons.minZoom = 2;
 
    map.mapTypes.set('dungeons', dungeons);
 
 
 
 
 
    map.setOptions({
 
      mapTypeControl: true,
 
      mapTypeControlOptions: {
 
        style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
 
        mapTypeIds: ['S2', 'dungeons']
 
      }
 
    });
 
 
 
      // Make the link the first time when the page opens
 
      makeLink();
 
 
 
      // Make the link again whenever the map changes
 
      google.maps.event.addListener(map, 'maptypeid_changed', makeLink);
 
      google.maps.event.addListener(map, 'center_changed', makeLink);
 
      google.maps.event.addListener(map, 'bounds_changed', makeLink);
 
      google.maps.event.addListener(map, 'zoom_changed', makeLink);
 
 
 
  google.maps.event.addListener(map, 'click', function() {
 
        lastmarker = null;
 
        makeLink();
 
        infowindow.close();
 
        });
 
      // Read the data from example.xml
 
      downloadUrl("example.xml", function(doc) {
 
        var xmlDoc = xmlParse(doc);
 
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
 
        for (var i = 0; i < markers.length; i++) {
 
          // obtain the attribues of each marker
 
          var lat = parseFloat(markers[i].getAttribute("lat"));
 
          var lng = parseFloat(markers[i].getAttribute("lng"));
 
          var point = new google.maps.LatLng(lat,lng);
 
          var html = markers[i].getAttribute("description");
 
          var type = markers[i].getAttribute("type");
 
          var label = markers[i].getAttribute("label");
 
          // create the marker
 
          var marker = createMarker(point,label,html,type);
 
        }
 
         // put the assembled side_bar_html contents into the side_bar div
 
        document.getElementById("side_bar").innerHTML = side_bar_html;
 
          // ========= If a parameter was passed, open the info window ==========
 
          if (id) {
 
            if (idmarkers[id]) {
 
              google.maps.event.trigger(idmarkers[id],"click");
 
            } else {
 
              alert("id "+id+" does not match any marker");
 
            }
 
          }
 
          if (index > -1) {
 
            if (index < gmarkers.length) {
 
              google.maps.event.trigger(gmarkers[index],"click");
 
            } else {
 
              alert("marker "+index+" does not exist");
 
            }
 
          }
 
      });
 
    }
 
 
 
addOnloadHook(initialize);
 

Latest revision as of 10:36, 25 February 2014

/* Any JavaScript here will be loaded for all users on every page load. */


 if (mwCustomEditButtons) {
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/align_center.png",
     "speedTip": "Will center highlighted text.",
     "tagOpen": "<center>",
     "tagClose": "</center>",
     "sampleText": ""};
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/S1internallink.jpg",
     "speedTip": "Make a Sacred Underworld Internal Link",
     "tagOpen": "[[Sacred:",
     "tagClose": "|]]",
     "sampleText": "Page Name you are linking to"};
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/S2internallink.jpg",
     "speedTip": "Make a Sacred 2:Fallen Angel Internal Link",
     "tagOpen": "[[Sacred 2:",
     "tagClose": "|]]",
     "sampleText": "Type here what you want the link to be read as..."};
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/questbutton.jpg",
     "speedTip": "Quest Template.  Push the preview to see results.",
     "tagOpen": "{{subst:Quest",
     "tagClose": "}}",
     "sampleText": ""};
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/chainquest.jpg",
     "speedTip": "ChainQuest Template.  Push the preview to see results.",
     "tagOpen": "{{subst:ChainQuest",
     "tagClose": "}}",
     "sampleText": ""};
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/place.jpg",
     "speedTip": "Place Template.  Push the preview to see results.",
     "tagOpen": "{{subst:Place",
     "tagClose": "}}",
     "sampleText": ""};
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/npc.jpg",
     "speedTip": "NPC Template.  Push the preview to see results.",
     "tagOpen": "{{subst:NPC",
     "tagClose": "}}",
     "sampleText": ""};
  }

var customizeToolbar = function() {
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
                'S1link': {
                        label: 'Sacred 1 Link', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: 'S1link.jpg',
			'action': {
				'type': 'encapsulate',
				'options': {
					'pre': "[[Sacred:",
					'peri': 'Page Name you want to link to',
					'post': "|]]"
				}
			}
          },
                'S2link': {
                        label: 'Sacred 2 Link', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: 'S2link.jpg',
			'action': {
				'type': 'encapsulate',
				'options': {
					'pre': "[[Sacred 2:",
					'peri': 'Page Name you want to link to',
					'post': "|]]"
					}
				}
			},
                'Quest': {
                        label: 'Quest Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: 'quest.png',
			'action': {
				'type': 'encapsulate',
				'options': {
					'pre': "{{subst:Quest",
					'post': "}}"
					}
				}
			},
                'ChainQuest': {
                        label: 'Chain Quest Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: 'chainquest.png',
			'action': {
				'type': 'encapsulate',
				'options': {
					'pre': "{{subst:ChainQuest",
					'post': "}}"
					}
				}
			},
                'Place': {
                        label: 'Place Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: 'place.png',
			'action': {
				'type': 'encapsulate',
				'options': {
					'pre': "{{subst:Place",
					'post': "}}"
					}
				}
			},
                'NPC': {
                        label: 'NPC Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: 'NPC.png',
			'action': {
				'type': 'encapsulate',
				'options': {
					'pre': "{{subst:NPC",
					'post': "}}"
					}
				}
			},
/*                'TEST': {
                        label: 'TESTing',
                        type: 'button',
                        icon: 'NPC.png',
			'action': {
                            'type':'dialog',
                                'module':'insert-link'
					}
				}
			}, */
                'S2Frame': {
                        label: 'Sacred 2 Frame to put around images and videos',
                        type: 'button',
                        icon: 's2frame.png',
			'action': {
				'type': 'encapsulate',
				'options': {
					'pre': "{{s2frame|",
					'post': "|none}}"
					}
				}
			},
                'Dialogue': {
                        label: 'S2 Dialogue Template.  Push the preview to see results', // or use labelMsg for a localized label, see above
                        type: 'button',
                        icon: 'dialogue.png',
			'action': {
				'type': 'encapsulate',
				'options': {
					'pre': "{{S2 Dialogue|NPC NAME=NPCNAME|PORTRAIT FILE NAME=NoPicDialog.png|DIALOGUE=<poem>",
					'peri': 'TYPEtextHERE',
					'post': "</poem>}}"
					}
				}
			}
        }
} );
}
 
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar . . . */
if ( $.inArray( mw.config.get( 'wgAction' ), ['edit', 'submit'] ) !== -1 ) {
        mw.loader.using( 'user.options', function () {
                if ( mw.user.options.get('usebetatoolbar') ) {
                        mw.loader.using( 'ext.wikiEditor.toolbar', function () {
                                $(document).ready( customizeToolbar );
                        } );
                }
        } );
}