@acorex/core 21.0.2-next.51 → 21.0.2-next.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -4,12 +4,15 @@ import { Injectable } from '@angular/core';
|
|
|
4
4
|
const BASE_Z_INDEX = 1000;
|
|
5
5
|
class AXZIndexService {
|
|
6
6
|
constructor() {
|
|
7
|
-
this.
|
|
7
|
+
this.stacks = new Map();
|
|
8
8
|
this.active = new Map();
|
|
9
9
|
}
|
|
10
|
-
acquire() {
|
|
10
|
+
acquire(baseZIndex = BASE_Z_INDEX) {
|
|
11
11
|
const id = `z-${Date.now()}-${Math.random()}`;
|
|
12
|
-
const
|
|
12
|
+
const floor = baseZIndex ?? BASE_Z_INDEX;
|
|
13
|
+
const zIndex = (this.stacks.get(floor) ?? floor) + 1;
|
|
14
|
+
this.stacks.set(floor, zIndex);
|
|
15
|
+
const token = { id, zIndex, baseZIndex: floor };
|
|
13
16
|
this.active.set(id, token);
|
|
14
17
|
return token;
|
|
15
18
|
}
|
|
@@ -17,16 +20,19 @@ class AXZIndexService {
|
|
|
17
20
|
if (!token)
|
|
18
21
|
return;
|
|
19
22
|
this.active.delete(token.id);
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
const floor = token.baseZIndex ?? BASE_Z_INDEX;
|
|
24
|
+
const hasTierActive = [...this.active.values()].some((t) => (t.baseZIndex ?? BASE_Z_INDEX) === floor);
|
|
25
|
+
if (!hasTierActive) {
|
|
26
|
+
this.stacks.delete(floor);
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
bringToFront(token) {
|
|
30
|
+
const floor = token.baseZIndex ?? BASE_Z_INDEX;
|
|
25
31
|
this.release(token);
|
|
26
|
-
return this.acquire();
|
|
32
|
+
return this.acquire(floor);
|
|
27
33
|
}
|
|
28
34
|
lastIndex() {
|
|
29
|
-
return this.
|
|
35
|
+
return Math.max(BASE_Z_INDEX, ...this.stacks.values());
|
|
30
36
|
}
|
|
31
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXZIndexService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
38
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXZIndexService, providedIn: 'root' }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-core-z-index.mjs","sources":["../../../../packages/core/z-index/src/lib/z-index.service.ts","../../../../packages/core/z-index/src/acorex-core-z-index.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AXZToken } from './z-index.type';\n\nconst BASE_Z_INDEX = 1000;\n\n@Injectable({ providedIn: 'root' })\nexport class AXZIndexService {\n private
|
|
1
|
+
{"version":3,"file":"acorex-core-z-index.mjs","sources":["../../../../packages/core/z-index/src/lib/z-index.service.ts","../../../../packages/core/z-index/src/acorex-core-z-index.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AXZToken } from './z-index.type';\n\nconst BASE_Z_INDEX = 1000;\n\n@Injectable({ providedIn: 'root' })\nexport class AXZIndexService {\n private stacks = new Map<number, number>();\n private active = new Map<string, AXZToken>();\n\n acquire(baseZIndex = BASE_Z_INDEX): AXZToken {\n const id = `z-${Date.now()}-${Math.random()}`;\n const floor = baseZIndex ?? BASE_Z_INDEX;\n const zIndex = (this.stacks.get(floor) ?? floor) + 1;\n\n this.stacks.set(floor, zIndex);\n const token: AXZToken = { id, zIndex, baseZIndex: floor };\n this.active.set(id, token);\n return token;\n }\n\n release(token?: AXZToken | null): void {\n if (!token) return;\n this.active.delete(token.id);\n\n const floor = token.baseZIndex ?? BASE_Z_INDEX;\n const hasTierActive = [...this.active.values()].some((t) => (t.baseZIndex ?? BASE_Z_INDEX) === floor);\n if (!hasTierActive) {\n this.stacks.delete(floor);\n }\n }\n\n bringToFront(token: AXZToken): AXZToken {\n const floor = token.baseZIndex ?? BASE_Z_INDEX;\n this.release(token);\n return this.acquire(floor);\n }\n\n lastIndex(): number {\n return Math.max(BASE_Z_INDEX, ...this.stacks.values());\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA,MAAM,YAAY,GAAG,IAAI;MAGZ,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAAkB;AAClC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,GAAG,EAAoB;AAiC7C,IAAA;IA/BC,OAAO,CAAC,UAAU,GAAG,YAAY,EAAA;AAC/B,QAAA,MAAM,EAAE,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,GAAG,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AAC7C,QAAA,MAAM,KAAK,GAAG,UAAU,IAAI,YAAY;AACxC,QAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAEpD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;QAC9B,MAAM,KAAK,GAAa,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE;QACzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC;AAC1B,QAAA,OAAO,KAAK;IACd;AAEA,IAAA,OAAO,CAAC,KAAuB,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK;YAAE;QACZ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AAE5B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,IAAI,YAAY;AAC9C,QAAA,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,IAAI,YAAY,MAAM,KAAK,CAAC;QACrG,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3B;IACF;AAEA,IAAA,YAAY,CAAC,KAAe,EAAA;AAC1B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,IAAI,YAAY;AAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B;IAEA,SAAS,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACxD;8GAlCW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACLlC;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -3,12 +3,13 @@ import * as i0 from '@angular/core';
|
|
|
3
3
|
interface AXZToken {
|
|
4
4
|
id: string;
|
|
5
5
|
zIndex: number;
|
|
6
|
+
baseZIndex?: number;
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
declare class AXZIndexService {
|
|
9
|
-
private
|
|
10
|
+
private stacks;
|
|
10
11
|
private active;
|
|
11
|
-
acquire(): AXZToken;
|
|
12
|
+
acquire(baseZIndex?: number): AXZToken;
|
|
12
13
|
release(token?: AXZToken | null): void;
|
|
13
14
|
bringToFront(token: AXZToken): AXZToken;
|
|
14
15
|
lastIndex(): number;
|