From 0cfc5bc1b75a729f0c5fba854f7aa6b46d935974 Mon Sep 17 00:00:00 2001 From: Cilibiu Bogdan Date: Tue, 4 Jun 2019 11:15:44 +0300 Subject: [PATCH] [ADF-4625] Search Input does not respect RTL mode (#4806) * configurable animation * bind state attribute to value * configure animation state based on direction * update tests * lint * direction style --- .../search/components/animations.ts | 33 +++++ .../components/search-control.component.html | 2 +- .../components/search-control.component.scss | 8 ++ .../search-control.component.spec.ts | 119 +++++++++++++++--- .../components/search-control.component.ts | 72 +++++++---- 5 files changed, 198 insertions(+), 36 deletions(-) create mode 100644 lib/content-services/search/components/animations.ts diff --git a/lib/content-services/search/components/animations.ts b/lib/content-services/search/components/animations.ts new file mode 100644 index 0000000000..964877ee94 --- /dev/null +++ b/lib/content-services/search/components/animations.ts @@ -0,0 +1,33 @@ +/*! + * @license + * Copyright 2019 Alfresco Software, Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { trigger, transition, animate, style, state, AnimationTriggerMetadata } from '@angular/animations'; + +export const searchAnimation: AnimationTriggerMetadata = trigger('transitionMessages', [ + state('active', style({ + 'margin-left': '{{ margin-left }}px', + 'margin-right': '{{ margin-right }}px', + 'transform': '{{ transform }}' + }), { params: { 'margin-left': 0, 'margin-right': 0, 'transform': 'translateX(0%)' } }), + state('inactive', style({ + 'margin-left': '{{ margin-left }}px', + 'margin-right': '{{ margin-right }}px', + 'transform': '{{ transform }}' + }), { params: { 'margin-left': 0, 'margin-right': 0, 'transform': 'translateX(0%)' } }), + state('no-animation', style({ transform: 'translateX(0%)', width: '100%' })), + transition('active <=> inactive', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')) +]); diff --git a/lib/content-services/search/components/search-control.component.html b/lib/content-services/search/components/search-control.component.html index 317075412f..c72704c72d 100644 --- a/lib/content-services/search/components/search-control.component.html +++ b/lib/content-services/search/components/search-control.component.html @@ -1,4 +1,4 @@ -
+