UNPKG

vso-extension-samples

Version:
69 lines (56 loc) 3.07 kB
<!DOCTYPE html> <head> <title>Background contributions</title> <script src="sdk/scripts/VSS.SDK.js"></script> </head> <body> <script type="text/javascript"> VSS.init(); var compareMenu = { execute: function (actionContext) { VSS.getService("ms.vss-web.dialog-service").then(function (dialogSvc) { var compareToForm; var extInfo = VSS.getExtensionContext(); var dialogOptions = { title: "Compare to", width: 600, height: 400, okText: "Compare", okCallback: function (result) { VSS.getService("ms.vss-web.navigation-service").then(function (navigationSvc) { var newHash = [ "_a=compare", "path=" + encodeURIComponent(actionContext.item.path), "oversion=" + encodeURIComponent("GB" + result.branch), "mversion=" + encodeURIComponent("GB" + actionContext.version) ]; navigationSvc.setHash(newHash.join('&')); }); }, getDialogResult: function () { return compareToForm ? compareToForm.getFormInputs() : null; } }; var contributionContext = { item: actionContext }; dialogSvc.openDialog(extInfo.publisherId + "." + extInfo.extensionId + "." + "compareToForm", dialogOptions, contributionContext).then(function (dialog) { dialog.getContributionInstance("compareToForm").then(function (compareToFormInstance) { compareToForm = compareToFormInstance; // Subscribe to form input changes and update the Ok enabled state compareToForm.onFormChanged(function(formInput) { dialog.updateOkButton(formInput.branch && actionContext.version !== "GB" + formInput.branch); }); // Get the initial ok enabled state compareToForm.getFormInput().then(function (formInput) { dialog.updateOkButton(formInput.branch && actionContext.version !== "GB" + formInput.branch); }); }); }); }); } }; VSS.register("compareMenu", compareMenu); </script> </body> </html>