mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
feat: System css classes for modals (#8155)
* feat: update modal views CSS classes * chore: fix failing test
This commit is contained in:

committed by
GitHub

parent
2bb7ad9d01
commit
7b78f3b0c6
@ -1,32 +1,44 @@
|
||||
const MODAL = "modal";
|
||||
const ROOT = "root";
|
||||
const cssClasses = [];
|
||||
|
||||
export const CLASS_PREFIX = "ns-";
|
||||
export const MODAL_ROOT_VIEW_CSS_CLASS = `${CLASS_PREFIX}${MODAL}`;
|
||||
export const ROOT_VIEW_CSS_CLASS = `${CLASS_PREFIX}${ROOT}`;
|
||||
|
||||
const modalRootViewCssClass = `${CLASS_PREFIX}${MODAL}`;
|
||||
const rootViewCssClasses = [`${CLASS_PREFIX}${ROOT}`];
|
||||
|
||||
export function getModalRootViewCssClass(): string {
|
||||
return modalRootViewCssClass;
|
||||
export function getSystemCssClasses(): string[] {
|
||||
return cssClasses;
|
||||
}
|
||||
|
||||
export function getRootViewCssClasses(): string[] {
|
||||
return rootViewCssClasses;
|
||||
export function pushToSystemCssClasses(value: string): number {
|
||||
cssClasses.push(value);
|
||||
|
||||
return cssClasses.length;
|
||||
}
|
||||
|
||||
export function pushToRootViewCssClasses(value: string): number {
|
||||
rootViewCssClasses.push(value);
|
||||
|
||||
return rootViewCssClasses.length;
|
||||
}
|
||||
|
||||
export function removeFromRootViewCssClasses(value: string): string {
|
||||
const index = rootViewCssClasses.indexOf(value);
|
||||
export function removeSystemCssClass(value: string): string {
|
||||
const index = cssClasses.indexOf(value);
|
||||
let removedElement;
|
||||
|
||||
if (index > -1) {
|
||||
removedElement = rootViewCssClasses.splice(index, 1);
|
||||
removedElement = cssClasses.splice(index, 1);
|
||||
}
|
||||
|
||||
return removedElement;
|
||||
}
|
||||
|
||||
export function getModalRootViewCssClass(): string {
|
||||
return MODAL_ROOT_VIEW_CSS_CLASS;
|
||||
}
|
||||
|
||||
export function getRootViewCssClasses(): string[] {
|
||||
return [ROOT_VIEW_CSS_CLASS, ...cssClasses];
|
||||
}
|
||||
|
||||
export function pushToRootViewCssClasses(value: string): number {
|
||||
return pushToSystemCssClasses(value) + 1; // because of ROOT_VIEW_CSS_CLASS
|
||||
}
|
||||
|
||||
export function removeFromRootViewCssClasses(value: string): string {
|
||||
return removeSystemCssClass(value);
|
||||
}
|
Reference in New Issue
Block a user