MediaWiki:Gadget-newPage.js: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Tag: Undo |
||
| Line 3: | Line 3: | ||
function createWindow(modal){ | function createWindow(modal){ | ||
modal.content = new | modal.content = new OO.ui.PanelLayout({ padded: true, expanded: false }); | ||
var pagenameInput = new | var pagenameInput = new OO.ui.TextInputWidget({placeholder: 'Full page name including namespace', type: 'text', id: 'gadget-newpage-pagename'}); | ||
var submitButton = new | var submitButton = new OO.ui.ButtonInputWidget({ label: 'Create', flags: ['primary', 'progressive']}); | ||
var cancelButton = new | var cancelButton = new OO.ui.ButtonInputWidget({ label: 'Cancel', flags: 'destructive'}); | ||
var submitAction = function(modal) { | var submitAction = function(modal) { | ||
| Line 18: | Line 18: | ||
pagenameInput.on('enter', submitAction); | pagenameInput.on('enter', submitAction); | ||
cancelButton.on('click', function(modal){window. | cancelButton.on('click', function(modal){window.OOUIWindowManager.closeWindow(modal);}, [modal]); | ||
var fieldset = new | var fieldset = new OO.ui.FieldsetLayout({}); | ||
fieldset.addItems([ | fieldset.addItems([ | ||
new | new OO.ui.FieldLayout(pagenameInput, { label: 'Page name', help: 'Full page name of the page to created, including namespace' }) | ||
]); | ]); | ||
modal.content.$element.append(fieldset.$element, '<br>', cancelButton.$element, submitButton.$element); | modal.content.$element.append(fieldset.$element, '<br>', cancelButton.$element, submitButton.$element); | ||
| Line 36: | Line 36: | ||
}); | }); | ||
} else { | } else { | ||
window. | window.OOUIWindowManager.openWindow('gadget-newpage-window'); | ||
} | } | ||
} | } | ||
Latest revision as of 20:47, 2 June 2020
;(function($, mw, gs){
var $button, $window;
function createWindow(modal){
modal.content = new OO.ui.PanelLayout({ padded: true, expanded: false });
var pagenameInput = new OO.ui.TextInputWidget({placeholder: 'Full page name including namespace', type: 'text', id: 'gadget-newpage-pagename'});
var submitButton = new OO.ui.ButtonInputWidget({ label: 'Create', flags: ['primary', 'progressive']});
var cancelButton = new OO.ui.ButtonInputWidget({ label: 'Cancel', flags: 'destructive'});
var submitAction = function(modal) {
var page = pagenameInput.getValue();
if (page == '') return;
var url = mw.util.getUrl(page, {action: 'edit'});
window.location.assign(url);
};
submitButton.on('click', submitAction);
pagenameInput.on('enter', submitAction);
cancelButton.on('click', function(modal){window.OOUIWindowManager.closeWindow(modal);}, [modal]);
var fieldset = new OO.ui.FieldsetLayout({});
fieldset.addItems([
new OO.ui.FieldLayout(pagenameInput, { label: 'Page name', help: 'Full page name of the page to created, including namespace' })
]);
modal.content.$element.append(fieldset.$element, '<br>', cancelButton.$element, submitButton.$element);
modal.$body.append(modal.content.$element);
}
function openWindow(e){
e.preventDefault();
if ($window == undefined) {
gs.createOOUIWindow('gadget-newpage-window', 'Create new page', {}, createWindow, true).then(function(w){
$window = w;
});
} else {
window.OOUIWindowManager.openWindow('gadget-newpage-window');
}
}
function init(){
$button = $('<li>').attr('id', 't-gadget-newpage').append($('<a>').attr('href', '#').text('Make new page'));
$button.click(openWindow);
$('#p-tb .body ul').append($button);
}
$(init);
})(window.$, window.mw, window.gswiki);