User:Abbe98/common.js

From Wikidata
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
importScript('User:Abbe98/osm.js');
importScript('User:Abbe98/mapillary.js');
importScript('User:Melderick/moveClaims2.js');
importScript('User:Abbe98/copy-qid.js');
importScript('User:Abbe98/inaturalist.js');
importScript('User:Abbe98/AutoIdentifierInput.js');
importScript('User:Lockal/EditSum.js');
importScript('User:Nikki/LexemeTranslations.js');

//mw.loader.load( '//www.wikidata.org/w/index.php?title=User:1Veertje/identifierInput.js&action=raw&ctype=text/javascript' ); // [[User:1Veertje/identifierInput.js]]
//mw.loader.load( '//www.wikidata.org/w/index.php?title=User:Teester/CheckShex.js&action=raw&ctype=text/javascript' ); // [[User:Teester/EntityShape.js]]

/*mw.loader.using(['oojs-ui-windows', 'oojs-ui-core'], function () {
    if (mw.config.values.wgNamespaceNumber === 0) {
    
        function MainDialog(config) {
            MainDialog.parent.call(this, config);
        }
        OO.inheritClass(MainDialog, OO.ui.ProcessDialog);

        MainDialog.static.name = 'mainDialog';
        MainDialog.static.title = 'Smart Reference';
        MainDialog.static.size = 'larger';
	    MainDialog.static.actions = [
			{
				action: 'generate', 
				modes: 'edit', 
				label: 'Generate', 
				flags: [ 'primary', 'progressive' ] 
			},
			{ 
				modes: 'edit', 
				label: 'Cancel', 
				flags: [ 'safe', 'close' ]
			}
	    ];
        MainDialog.prototype.initialize = function() {
            MainDialog.parent.prototype.initialize.apply(this);
            this.content = new OO.ui.PanelLayout( { padded: true, expanded: false } );

            var refInput = new OO.ui.TextInputWidget( {
				placeholder: 'Reference URL, DOI, ISBN, PMCID, or PMID',
				indicator: 'required',
			} );
			this.content.$element.append(refInput.$element);

            this.$body.append(this.content.$element);
        };

        MainDialog.prototype.getBodyHeight = function() {
            return this.content.$element.outerHeight(true);
        };
        
	    MainDialog.prototype.getActionProcess = function (action) {
			if (action === 'generate') {
				var dialog = this;
				// return new OO.ui.Error('Permission denied');
				return new OO.ui.Process(function() {
					timeout(5000).then(function() {
						dialog.close();
					});
				});
			}
			return MainDialog.super.prototype.getActionProcess.call(this, action);
		};

        var dialog = new MainDialog();

        // Create and append a window manager, which opens and closes the window.
        var windowManager = new OO.ui.WindowManager();
        $('body').append(windowManager.$element);
        windowManager.addWindows([dialog]);

		mw.hook( 'wikibase.entityPage.entityView.rendered' ).add( function () {
			console.log('enabeling smart references');
	        var refsToolBars = document.querySelectorAll('.wikibase-statementview-references .wikibase-addtoolbar');
			console.log(refsToolBars);
			refsToolBars.forEach(function(elm) {
				console.log('adding smart references links');
				elm.innerHTML += '<span class="wikibase-toolbarbutton wikibase-toolbar-item wikibase-toolbar-button wikibase-toolbar-button-smart"><a href="#"><span class="wb-icon"></span>add smart reference</a></span>';
			});

			$('body').find('.wikibase-toolbar-button-smart').click(function(e) {
				e.preventDefault();
				console.log(e);
            	windowManager.openWindow(dialog);
        	});
		});
    }
}).fail(function(e) { console.log(e); });


/*mw.loader.using(['jquery.ui'], function() {
	$(window).on('load', function() {
		// common functions
		String.prototype.insertAt=function(index, string) {
			return this.substr(0, index) + string + this.substr(index);
		}

		if (window.mw.config.values.wbEntity) {
			// replace external kulturarvsdata.se(P1260) RDF links with human readable ones
			if (JSON.parse(window.mw.config.values.wbEntity).claims.P1260) {
				var link = $('a[href*="kulturarvsdata.se"]');
				if (link.attr('href').indexOf('/html/') == -1) {
					var re = new RegExp('\/.[^/]+(|\/)$');

					insertIndex = re.exec(link.attr('href'))['index'];
					newUrl = link.attr('href').insertAt(insertIndex, '/html')
					link.attr('href', newUrl);
				}
			}
		}
	});
});*/