feat(lazy): created to handle lazy loading

This commit is contained in:
2025-09-19 10:36:14 +02:00
parent 6622442d95
commit 451e7e7daa
5 changed files with 31 additions and 1 deletions

View File

@@ -50,6 +50,7 @@
<script src="~/lib/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="~/lib/sweetalert2/sweetalert2.min.js"></script>
<script src="~/lib/alertifyjs/alertify.min.js"></script>
<script src="~/js/lazy.min.js" asp-append-version="true"></script>
<script src="~/js/ui.min.js" asp-append-version="true"></script>
<script src="~/js/annotation.js" asp-append-version="true"></script>
<script src="~/js/network.min.js" asp-append-version="true"></script>

View File

@@ -5,6 +5,12 @@
"wwwroot/js/app.js"
]
},
{
"outputFileName": "wwwroot/js/lazy.min.js",
"inputFiles": [
"wwwroot/js/lazy.js"
]
},
{
"outputFileName": "wwwroot/js/api-service.min.js",
"inputFiles": [

View File

@@ -0,0 +1,22 @@
class Lazy {
#factory;
#initialized = false;
#value;
constructor(factory) {
this.#factory = factory;
}
get initialized() {
return this.#initialized;
}
get value() {
if (!this.#initialized) {
this.#initialized = true;
this.#value = this.#factory();
this.#factory = null;
}
return this.#value;
}
}

View File

@@ -0,0 +1 @@
class Lazy{#factory;#initialized=false;#value;constructor(n){this.#factory=n}get initialized(){return this.#initialized}get value(){return this.#initialized||(this.#initialized=!0,this.#value=this.#factory(),this.#factory=null),this.#value}}