| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | 
							- import { product } from "./product.js";
 
- import { product_container } from "./product_container.js";
 
- export class product_containers {
 
-     #content;
 
-     #where;
 
-     #inserted;
 
-     #counter;
 
-     #count;
 
-     #next_button;
 
-     #previous_button;
 
-     constructor(where) {
 
-         this.#counter = 0;
 
-         this.#count = 24;
 
-         
 
-         this.#content = new Array();
 
-         this.#inserted = new Array();
 
-         this.#where = document.createElement("div");
 
-         this.#where.classList.add("products-list");
 
-         
 
-         this.#next_button = document.createElement("input");
 
-         this.#next_button.type = "button";
 
-         this.#next_button.value = _("show-next");
 
-         this.#previous_button = document.createElement("input");
 
-         this.#previous_button.type = "button";
 
-         this.#previous_button.value = _("show-previous");
 
-         this.#next_button.addEventListener("click", () => {
 
-             this.#next();
 
-         });
 
-         this.#previous_button.addEventListener("click", () => {
 
-             this.#previous();
 
-         });
 
-         where.appendChild(this.#previous_button);
 
-         where.appendChild(this.#where);
 
-         where.appendChild(this.#next_button);
 
-     }   
 
-     
 
-     add_list(target) {
 
-         target.forEach(count => {
 
-             this.add(count);
 
-         });
 
-         return this;
 
-     }
 
-     add(target) {
 
-         const current = new product_container(target);
 
-         this.#content.push(current);
 
-         return this;
 
-     }
 
-     clean() {
 
-         this.#counter = 0;
 
-         this.#content = new Array();
 
-         return this;
 
-     }
 
-     #update_buttons() {
 
-         if (this.previous_avairable) {
 
-             this.#previous_button.style.opacity = "1";
 
-         } else {
 
-             this.#previous_button.style.opacity = "0";
 
-         }
 
-         if (this.next_avairable) {
 
-             this.#next_button.style.opacity = "1";
 
-         } else {
 
-             this.#next_button.style.opacity = "0";
 
-         }
 
-     }
 
-     update() {
 
-         this.#update_buttons();
 
-         this.#hide();
 
-         setTimeout(() => {
 
-             const first = this.#counter;
 
-             const last = this.#counter + this.#count;
 
-             const current = this.#content.slice(first, last);
 
-             
 
-             current.forEach(count => { 
 
-                 this.#show_sigle(count); 
 
-             });
 
-         }, 500);
 
-         return this;
 
-     }
 
-     get next_avairable() {
 
-         return (this.#counter + this.#count) <= this.#content.length;
 
-     }
 
-     get previous_avairable() {
 
-         return this.#counter >= this.#count;
 
-     }
 
-     #next() {
 
-         if (!this.next_avairable) return;
 
-         this.#counter += this.#count;
 
-         this.update();
 
-     }
 
-     #previous() {
 
-         if (!this.previous_avairable) return;
 
-         this.#counter -= this.#count;
 
-         this.#counter = this.#counter < 0 ? 0 : this.#counter;
 
-         this.update();
 
-     }
 
-     #show_sigle(target) {
 
-         this.#inserted.push(target);
 
-         target.add(this.#where);
 
-     }
 
-     #hide() {
 
-         this.#inserted.forEach(count => {
 
-             count.drop();
 
-         });
 
-         this.#inserted = new Array();
 
-         return this;
 
-     }
 
- }
 
 
  |