8 changed files with 153 additions and 164 deletions
@ -1,85 +0,0 @@ |
|||
///
|
|||
/// Copyright © 2016-2024 The Thingsboard Authors
|
|||
///
|
|||
/// 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 { Directive } from '@angular/core'; |
|||
import { BREAKPOINT, LayoutAlignDirective, LayoutDirective, LayoutGapDirective, ShowHideDirective } from '@angular/flex-layout'; |
|||
|
|||
const TB_BREAKPOINTS = [ |
|||
{ |
|||
alias: 'md-lg', |
|||
mediaQuery: 'screen and (min-width: 960px) and (max-width: 1819px)', |
|||
priority: 750 |
|||
}, |
|||
{ |
|||
alias: 'gt-md-lg', |
|||
mediaQuery: 'screen and (min-width: 1820px)', |
|||
priority: -600 |
|||
} |
|||
]; |
|||
|
|||
export const TbBreakPointsProvider = { |
|||
provide: BREAKPOINT, |
|||
useValue: TB_BREAKPOINTS, |
|||
multi: true |
|||
}; |
|||
|
|||
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property,@angular-eslint/directive-selector
|
|||
@Directive({selector: '[fxLayout.md-lg]', inputs: ['fxLayout.md-lg']}) |
|||
export class MdLgLayoutDirective extends LayoutDirective { |
|||
protected inputs = ['fxLayout.md-lg']; |
|||
} |
|||
|
|||
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property,@angular-eslint/directive-selector
|
|||
@Directive({selector: '[fxLayoutAlign.md-lg]', inputs: ['fxLayoutAlign.md-lg']}) |
|||
export class MdLgLayoutAlignDirective extends LayoutAlignDirective { |
|||
protected inputs = ['fxLayoutAlign.md-lg']; |
|||
} |
|||
|
|||
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property,@angular-eslint/directive-selector
|
|||
@Directive({selector: '[fxLayoutGap.md-lg]', inputs: ['fxLayoutGap.md-lg']}) |
|||
export class MdLgLayoutGapDirective extends LayoutGapDirective { |
|||
protected inputs = ['fxLayoutGap.md-lg']; |
|||
} |
|||
|
|||
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property,@angular-eslint/directive-selector
|
|||
@Directive({selector: '[fxHide.md-lg]', inputs: ['fxHide.md-lg']}) |
|||
export class MdLgShowHideDirective extends ShowHideDirective { |
|||
protected inputs = ['fxHide.md-lg']; |
|||
} |
|||
|
|||
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property,@angular-eslint/directive-selector
|
|||
@Directive({selector: '[fxLayout.gt-md-lg]', inputs: ['fxLayout.gt-md-lg']}) |
|||
export class GtMdLgLayoutDirective extends LayoutDirective { |
|||
protected inputs = ['fxLayout.gt-md-lg']; |
|||
} |
|||
|
|||
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property,@angular-eslint/directive-selector
|
|||
@Directive({selector: '[fxLayoutAlign.gt-md-lg]', inputs: ['fxLayoutAlign.gt-md-lg']}) |
|||
export class GtMdLgLayoutAlignDirective extends LayoutAlignDirective { |
|||
protected inputs = ['fxLayoutAlign.gt-md-lg']; |
|||
} |
|||
|
|||
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property,@angular-eslint/directive-selector
|
|||
@Directive({selector: '[fxLayoutGap.gt-md-lg]', inputs: ['fxLayoutGap.gt-md-lg']}) |
|||
export class GtMdLgLayoutGapDirective extends LayoutGapDirective { |
|||
protected inputs = ['fxLayoutGap.gt-md-lg']; |
|||
} |
|||
|
|||
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property,@angular-eslint/directive-selector
|
|||
@Directive({selector: '[fxHide.gt-md-lg]', inputs: ['fxHide.gt-md-lg']}) |
|||
export class GtMdLgShowHideDirective extends ShowHideDirective { |
|||
protected inputs = ['fxHide.gt-md-lg']; |
|||
} |
|||
@ -0,0 +1,41 @@ |
|||
///
|
|||
/// Copyright © 2016-2024 The Thingsboard Authors
|
|||
///
|
|||
/// 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 { Observable } from 'rxjs/internal/Observable'; |
|||
import { from, of } from 'rxjs'; |
|||
import { map, tap } from 'rxjs/operators'; |
|||
import { Type } from '@angular/core'; |
|||
|
|||
let flexLayoutModule: any; |
|||
|
|||
export function getFlexLayout(): Observable<any> { |
|||
if (flexLayoutModule) { |
|||
return of(flexLayoutModule); |
|||
} else { |
|||
return from(import('@angular/flex-layout')).pipe( |
|||
tap((module) => { |
|||
module.DEFAULT_CONFIG.addFlexToParent = false; |
|||
flexLayoutModule = module; |
|||
}) |
|||
); |
|||
} |
|||
} |
|||
|
|||
export function getFlexLayoutModule(): Observable<Type<any>> { |
|||
return getFlexLayout().pipe( |
|||
map(module => module.FlexLayoutModule) |
|||
); |
|||
} |
|||
Loading…
Reference in new issue