ui: add lightweight frontend build pipeline
This commit is contained in:
+27
-45
@@ -3,7 +3,7 @@
|
||||
return typeof t === 'function' ? t(key) : key;
|
||||
}
|
||||
|
||||
var state = {
|
||||
var defaults = {
|
||||
currentStep: 1,
|
||||
wizardProtocol: 'rest',
|
||||
wizardMode: 'create',
|
||||
@@ -27,6 +27,22 @@
|
||||
selectedRpcMethod: null,
|
||||
};
|
||||
|
||||
Object.keys(defaults).forEach(function(key) {
|
||||
if (typeof window[key] !== 'undefined') {
|
||||
return;
|
||||
}
|
||||
var value = defaults[key];
|
||||
if (Array.isArray(value)) {
|
||||
window[key] = value.slice();
|
||||
return;
|
||||
}
|
||||
if (value && typeof value === 'object') {
|
||||
window[key] = Object.assign({}, value);
|
||||
return;
|
||||
}
|
||||
window[key] = value;
|
||||
});
|
||||
|
||||
function defaultProtocolCapabilities() {
|
||||
return {
|
||||
rest: {
|
||||
@@ -53,28 +69,28 @@
|
||||
}
|
||||
|
||||
function currentProtocolCapabilities() {
|
||||
var capabilities = state.wizardProtocolCapabilities || defaultProtocolCapabilities();
|
||||
return capabilities[state.wizardProtocol] || capabilities.rest;
|
||||
var capabilities = window.wizardProtocolCapabilities || defaultProtocolCapabilities();
|
||||
return capabilities[window.wizardProtocol] || capabilities.rest;
|
||||
}
|
||||
|
||||
async function loadProtocolCapabilities() {
|
||||
if (!state.wizardWorkspaceId || !window.CrankApi || typeof window.CrankApi.getProtocolCapabilities !== 'function') {
|
||||
state.wizardProtocolCapabilities = defaultProtocolCapabilities();
|
||||
return state.wizardProtocolCapabilities;
|
||||
if (!window.wizardWorkspaceId || !window.CrankApi || typeof window.CrankApi.getProtocolCapabilities !== 'function') {
|
||||
window.wizardProtocolCapabilities = defaultProtocolCapabilities();
|
||||
return window.wizardProtocolCapabilities;
|
||||
}
|
||||
|
||||
try {
|
||||
var response = await window.CrankApi.getProtocolCapabilities(state.wizardWorkspaceId);
|
||||
var response = await window.CrankApi.getProtocolCapabilities(window.wizardWorkspaceId);
|
||||
var mapped = {};
|
||||
(response.items || []).forEach(function(item) {
|
||||
mapped[item.protocol] = item;
|
||||
});
|
||||
state.wizardProtocolCapabilities = mapped;
|
||||
window.wizardProtocolCapabilities = mapped;
|
||||
} catch (_error) {
|
||||
state.wizardProtocolCapabilities = defaultProtocolCapabilities();
|
||||
window.wizardProtocolCapabilities = defaultProtocolCapabilities();
|
||||
}
|
||||
|
||||
return state.wizardProtocolCapabilities;
|
||||
return window.wizardProtocolCapabilities;
|
||||
}
|
||||
|
||||
function step3Labels() {
|
||||
@@ -88,44 +104,10 @@
|
||||
}
|
||||
|
||||
window.CrankWizardState = {
|
||||
state: state,
|
||||
state: window,
|
||||
defaultProtocolCapabilities: defaultProtocolCapabilities,
|
||||
currentProtocolCapabilities: currentProtocolCapabilities,
|
||||
loadProtocolCapabilities: loadProtocolCapabilities,
|
||||
step3Labels: step3Labels,
|
||||
};
|
||||
|
||||
[
|
||||
'currentStep',
|
||||
'wizardProtocol',
|
||||
'wizardMode',
|
||||
'wizardEditId',
|
||||
'wizardWorkspaceId',
|
||||
'wizardCurrentOperation',
|
||||
'wizardCurrentVersion',
|
||||
'wizardProtoUpload',
|
||||
'wizardDescriptorSetUpload',
|
||||
'wizardSoapWsdlUpload',
|
||||
'wizardSoapXsdUpload',
|
||||
'wizardTestResponsePreview',
|
||||
'grpcDescriptorServices',
|
||||
'soapServiceCatalog',
|
||||
'wizardProtocolCapabilities',
|
||||
'wizardSecrets',
|
||||
'wizardAuthProfiles',
|
||||
'selectedUpstreamId',
|
||||
'editingUpstreamId',
|
||||
'protoParsed',
|
||||
'selectedRpcMethod'
|
||||
].forEach(function(key) {
|
||||
Object.defineProperty(window, key, {
|
||||
configurable: true,
|
||||
get: function() {
|
||||
return state[key];
|
||||
},
|
||||
set: function(value) {
|
||||
state[key] = value;
|
||||
},
|
||||
});
|
||||
});
|
||||
}());
|
||||
|
||||
Reference in New Issue
Block a user