Icu 7301 UI target oss workflow (#1589)

Icu 7301 UI target OSS workflow (#1589)
This commit is contained in:
Dharini Jeeva authored and GitHub committed 2023-01-23 14:28:37 -08:00
1 parent da59684f25
commit b41b6ee3e3
8 files changed
+172 -100

No files matched your search

@@ -1,6 +1,6 @@
<Rose::Form
@onSubmit={{@submit}}
@cancel={{@cancel}}
@cancel={{this.cancel}}
@disabled={{@model.isSaving}}
@showEditToggle={{if @model.isNew false true}}
as |form|
@@ -67,7 +67,6 @@
</G.RadioCard>
{{/each}}
</Hds::Form::RadioCard::Group>
{{else}}
<InfoField
@value={{t (concat 'resources.target.types.' @model.type)}}
@@ -181,80 +180,121 @@
class='target-workers'
@layout='horizontal'
@isRequired={{false}}
@isOptional={{true}}
as |F|
>
<F.Legend>{{t 'resources.target.workers.title'}}</F.Legend>
<F.HelperText>{{t 'resources.target.workers.description'}}</F.HelperText>
{{#unless this.migrateWorkerFilter}}
{{#if this.showDeprecationMessage}}
{{#if this.showDeprecationMessage}}
<F.Control>
<Hds::Alert @color='highlight' @type='inline' as |A|>
<A.Title>{{t
'resources.target.workers.deprecation_message.title'
}}</A.Title>
<A.Description>{{t
'resources.target.workers.deprecation_message.description'
}}</A.Description>
</Hds::Alert>
</F.Control>
<F.Control>
<Hds::Form::TextInput::Field
@value={{@model.worker_filter}}
@isInvalid={{@model.errors.worker_filter}}
@type='text'
name='worker_filter'
disabled={{true}}
{{on 'input' (set-from-event @model 'worker_filter')}}
as |F|
>
<F.Label>{{t 'form.worker_filter.label'}}</F.Label>
<F.HelperText>{{t 'form.worker_filter.help'}}</F.HelperText>
</Hds::Form::TextInput::Field>
</F.Control>
{{/if}}
{{#if form.isEditable}}
{{#if this.showUpdateWorkerFilterButton}}
<F.Control>
<Hds::Alert @color='highlight' @type='inline' as |A|>
<A.Title>{{t
'resources.target.workers.deprecation_message.title'
}}</A.Title>
<A.Description>{{t
'resources.target.workers.deprecation_message.description'
}}</A.Description>
</Hds::Alert>
</F.Control>
<F.Control>
<Hds::Form::TextInput::Field
@isRequired={{false}}
@isOptional={{true}}
@value={{@model.worker_filter}}
@isInvalid={{@model.errors.worker_filter}}
@type='text'
name='worker_filter'
disabled={{true}}
{{on 'input' (set-from-event @model 'worker_filter')}}
as |F|
>
<F.Label>{{t 'form.worker_filter.label'}}</F.Label>
<F.HelperText>{{t 'form.worker_filter.help'}}</F.HelperText>
</Hds::Form::TextInput::Field>
<Hds::Button
class='update-filter-button'
@text={{t
'resources.target.workers.egress_worker_filter.filter.update_filter'
}}
@color='secondary'
disabled={{form.disabled}}
{{on 'click' this.migrateWorkerFilters}}
/>
</F.Control>
{{/if}}
{{/unless}}
{{/if}}
{{#if this.showEgressFilter}}
<F.Control>
<WorkerDiagram::SingleFilter
@egressFilter={{this.egressWorkerFilterEnabled}}
/>
</F.Control>
<F.Control>
<Form::Target::WorkerFilter
@name='egress_worker_filter'
@type='text'
@disabled={{form.disabled}}
@value={{@model.egress_worker_filter}}
@toggleAction={{this.toggleEgressWorkerFilter}}
@checked={{this.egressWorkerFilterEnabled}}
@toggleEnabled={{this.egressWorkerFilterEnabled}}
@errors={{@model.errors.egress_worker_filter}}
@onChange={{set-from-event @model 'egress_worker_filter'}}
@isInvalid={{@model.errors.egress_worker_filter}}
as |F|
>
{{#if @model.errors.egress_worker_filter}}
<F.Error as |E|>
{{#each @model.errors.egress_worker_filter as |error|}}
<E.Message>{{error.message}}</E.Message>
{{/each}}
</F.Error>
{{/if}}
</Form::Target::WorkerFilter>
</F.Control>
{{/if}}
{{#if @model.isNew}}
<F.Control>
<WorkerDiagram::SingleFilter
@egressFilter={{this.egressWorkerFilterEnabled}}
/>
</F.Control>
<F.Control>
<Form::Target::WorkerFilter
@name='egress_worker_filter'
@type='text'
@disabled={{form.disabled}}
@value={{@model.egress_worker_filter}}
@toggleAction={{this.toggleEgressWorkerFilter}}
@checked={{this.egressWorkerFilterEnabled}}
@toggleEnabled={{this.egressWorkerFilterEnabled}}
@errors={{@model.errors.egress_worker_filter}}
@onChange={{set-from-event @model 'egress_worker_filter'}}
@isInvalid={{@model.errors.egress_worker_filter}}
as |F|
>
{{#if @model.errors.egress_worker_filter}}
<F.Error as |E|>
{{#each @model.errors.egress_worker_filter as |error|}}
<E.Message>{{error.message}}</E.Message>
{{/each}}
</F.Error>
{{/if}}
</Form::Target::WorkerFilter>
</F.Control>
{{/if}}
</Hds::Form::Fieldset>
{{#if this.showUpdateWorkerFilterButton}}
{{#if form.isEditable}}
<Hds::Button
class='update-filter-button'
@text={{t
'resources.target.workers.egress_worker_filter.filter.update_filter'
}}
@color='secondary'
disabled={{form.disabled}}
{{on 'click' this.migrateWorkerFilters}}
/>
{{/if}}
{{else}}
<WorkerDiagram::SingleFilter
@egressFilter={{this.egressWorkerFilterEnabled}}
/>
<Form::Target::WorkerFilter
@name='egress_worker_filter'
@type='text'
@disabled={{form.disabled}}
@value={{@model.egress_worker_filter}}
@toggleAction={{this.toggleEgressWorkerFilter}}
@checked={{this.egressWorkerFilterEnabled}}
@toggleEnabled={{this.egressWorkerFilterEnabled}}
@errors={{@model.errors.egress_worker_filter}}
@onChange={{set-from-event @model 'egress_worker_filter'}}
@isInvalid={{@model.errors.egress_worker_filter}}
as |F|
>
{{#if @model.errors.egress_worker_filter}}
<F.Error as |E|>
{{#each @model.errors.egress_worker_filter as |error|}}
<E.Message>{{error.message}}</E.Message>
{{/each}}
</F.Error>
{{/if}}
</Form::Target::WorkerFilter>
{{/if}}
{{else}}
<Hds::Form::TextInput::Field
@isRequired={{false}}
@@ -15,8 +15,6 @@ export default class FormTargetComponent extends Component {
@tracked egressWorkerFilterEnabled =
this.args.model.egress_worker_filter?.length;
@tracked migrateWorkerFilter = false;
// =properties
/**
* maps resource type with icon
@@ -51,25 +49,40 @@ export default class FormTargetComponent extends Component {
* @type {boolean}
*/
get showUpdateWorkerFilterButton() {
return (
!this.args.model.isNew &&
this.args.model.worker_filter &&
!this.migrateWorkerFilter
);
return this.args.model.worker_filter?.length;
}
get showEgressFilter() {
return !this.args.model.worker_filter?.length && !this.args.model.isNew;
}
//actions
@action
toggleEgressWorkerFilter() {
this.egressWorkerFilterEnabled = !this.egressWorkerFilterEnabled;
if (!this.egressWorkerFilterEnabled) {
this.args.model.egress_worker_filter = '';
}
}
// =actions
@action
migrateWorkerFilters() {
this.migrateWorkerFilter = true;
this.egressWorkerFilterEnabled = true;
// When update is clicked, copy worker filter value into egress filter.
// When update is clicked, copy worker filter value into egress filter and clear the worker_filter
this.args.model.egress_worker_filter = this.args.model.worker_filter;
this.args.model.worker_filter = '';
}
/**
* Call passed cancel function.
* Unset selected filters.
*/
@action
cancel() {
this.args.cancel();
// Reset the tracked variable for toggles after rollback
this.egressWorkerFilterEnabled =
this.args.model.egress_worker_filter?.length;
}
}
@@ -1,8 +1,11 @@
<div class='target-worker-filter'>
<Hds::Form::Toggle::Field
name='target-worker-filter-toggle'
checked={{@checked}}
disabled={{@disabled}}
@isRequired={{false}}
@isOptional={{true}}
{{on 'change' @toggleAction}}
as |F|
>
@@ -14,10 +17,13 @@
{{#if @toggleEnabled}}
<Hds::Form::TextInput::Field
@isRequired={{false}}
@isOptional={{true}}
@value={{@value}}
disabled={{@disabled}}
@isInvalid={{@isInvalid}}
@type={{@type}}
name={{@name}}
disabled={{@disabled}}
{{on 'input' @onChange}}
as |F|
>