This is an automated email from the ASF dual-hosted git repository. juzhiyuan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git
The following commit(s) were added to refs/heads/master by this push: new e89665f feat: add the service page upstream select option (#1633) e89665f is described below commit e89665fa8f9773dd3c7d95d075588cd80bdd97d9 Author: Cliff Su <stu01...@yahoo.com.tw> AuthorDate: Mon May 3 15:58:01 2021 +0800 feat: add the service page upstream select option (#1633) --- .../route/can-skip-upstream-when-select-service-id.spec.js | 5 +---- web/src/pages/Service/Create.tsx | 11 +++++------ web/src/pages/Service/components/Step1.tsx | 2 +- web/src/pages/Upstream/locales/en-US.ts | 2 ++ web/src/pages/Upstream/locales/zh-CN.ts | 2 ++ 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/web/cypress/integration/route/can-skip-upstream-when-select-service-id.spec.js b/web/cypress/integration/route/can-skip-upstream-when-select-service-id.spec.js index aeb5118..72f9954 100644 --- a/web/cypress/integration/route/can-skip-upstream-when-select-service-id.spec.js +++ b/web/cypress/integration/route/can-skip-upstream-when-select-service-id.spec.js @@ -75,7 +75,7 @@ context('Can select service_id skip upstream in route', () => { cy.get(this.domSelector.input).should('be.disabled'); cy.contains(this.data.upstreamName).click(); - cy.contains('None').click(); + cy.contains('None').click({ force: true }); cy.contains('Next').click(); cy.contains('Next').click(); cy.contains('Submit').click(); @@ -91,9 +91,6 @@ context('Can select service_id skip upstream in route', () => { cy.contains(this.data.routeName).siblings().contains('Configure').click(); cy.get(this.domSelector.serviceSelector).click(); cy.contains('None').click(); - cy.get(this.domSelector.notification).should('contain', 'Please check the configuration of binding service'); - cy.get(this.domSelector.notificationCloseIcon).click(); - cy.contains('Next').click(); cy.wait(500); cy.get('[data-cy=upstream_selector]').click(); diff --git a/web/src/pages/Service/Create.tsx b/web/src/pages/Service/Create.tsx index ab977a9..04ad579 100644 --- a/web/src/pages/Service/Create.tsx +++ b/web/src/pages/Service/Create.tsx @@ -51,10 +51,12 @@ const Page: React.FC = (props) => { fetchItem(serviceId).then(({ data }) => { if (data.upstream_id) { upstreamForm.setFieldsValue({ upstream_id: data.upstream_id }) - } - if (data.upstream) { + } else if (data.upstream) { upstreamForm.setFieldsValue(convertToFormData(data.upstream)) + } else { + upstreamForm.setFieldsValue({ upstream_id: 'None' }) } + form.setFieldsValue(omit(data, ['upstream_id', 'upstream', 'plugins'])); setPlugins(data.plugins || {}); }); @@ -68,10 +70,7 @@ const Page: React.FC = (props) => { }; const upstreamFormData = upstreamRef.current?.getData(); - if (!upstreamFormData) { - return - } - if (!upstreamFormData.upstream_id) { + if (!upstreamFormData?.upstream_id) { data.upstream = upstreamFormData; } else { data.upstream_id = upstreamFormData.upstream_id; diff --git a/web/src/pages/Service/components/Step1.tsx b/web/src/pages/Service/components/Step1.tsx index 3817456..0577e69 100644 --- a/web/src/pages/Service/components/Step1.tsx +++ b/web/src/pages/Service/components/Step1.tsx @@ -59,7 +59,7 @@ const Step1: React.FC<ServiceModule.Step1PassProps> = ({ </Form> <UpstreamForm ref={upstreamRef} - required + required={false} form={upstreamForm} disabled={disabled} list={list} diff --git a/web/src/pages/Upstream/locales/en-US.ts b/web/src/pages/Upstream/locales/en-US.ts index fc2c58d..8400770 100644 --- a/web/src/pages/Upstream/locales/en-US.ts +++ b/web/src/pages/Upstream/locales/en-US.ts @@ -17,6 +17,8 @@ export default { 'page.upstream.step.select.upstream': 'Select Upstream', 'page.upstream.step.select.upstream.select.option': 'Custom', + 'page.upstream.step.select.upstream.select.none': 'None', + 'page.upstream.step.backend.server.domain.or.ip': 'Backend Server Host/IP', 'page.upstream.form.item-label.node.domain.or.ip': 'Targets', 'page.upstream.step.input.domain.name.or.ip': 'Please enter domain or IP', 'page.upstream.step.valid.domain.name.or.ip': 'Please enter valid a domain or IP', diff --git a/web/src/pages/Upstream/locales/zh-CN.ts b/web/src/pages/Upstream/locales/zh-CN.ts index 0af98ad..c861007 100644 --- a/web/src/pages/Upstream/locales/zh-CN.ts +++ b/web/src/pages/Upstream/locales/zh-CN.ts @@ -17,6 +17,8 @@ export default { 'page.upstream.step.select.upstream': '选择上游服务', 'page.upstream.step.select.upstream.select.option': '手动填写', + 'page.upstream.step.select.upstream.select.none': '无', + 'page.upstream.step.backend.server.domain.or.ip': '后端服务域名或 IP', 'page.upstream.form.item-label.node.domain.or.ip': '目标节点', 'page.upstream.step.input.domain.name.or.ip': '请输入域名或 IP', 'page.upstream.step.domain.name.or.ip': '主机名或 IP',