added examples
mega babuin
This commit is contained in:
90
README.md
90
README.md
@@ -29,6 +29,96 @@ import("/js/modules/gallery.mjs").then((module) => {
|
|||||||
```
|
```
|
||||||
CSS in the `/index.css` file
|
CSS in the `/index.css` file
|
||||||
|
|
||||||
|
## Example with initial images
|
||||||
|
```html
|
||||||
|
<section id="wrap">
|
||||||
|
<label for="images" class="unselectable">
|
||||||
|
Choose images
|
||||||
|
<input id="images" type="file" name="images" accept="image/png, image/jpeg, image/webp" multiple="true" onchange="document.getElementById('wrap')?.gallery.import(this.files)" />
|
||||||
|
</label>
|
||||||
|
<button id="reset" onclick="document.getElementById('wrap')?.gallery.ascending()">Reset</button>
|
||||||
|
|
||||||
|
<label id="loader" for="images" class="unselectable">Empty</label>
|
||||||
|
<div id="gallery" data-initial-images="/images/0.jpg;/images/1.jpg;/images/2.jpg"></div>
|
||||||
|
|
||||||
|
<span id="order" class="unselectable">Order:</div>
|
||||||
|
</section>
|
||||||
|
```
|
||||||
|
```js
|
||||||
|
import("/js/modules/gallery.mjs").then((module) => {
|
||||||
|
// Initializing the instance
|
||||||
|
const instance = new module.gallery(
|
||||||
|
document.getElementById("wrap"),
|
||||||
|
document.getElementById("images"),
|
||||||
|
document.getElementById("gallery"),
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Initializing saved images
|
||||||
|
const images = instance.gallery.getAttribute("data-initial-images")?.split(";");
|
||||||
|
|
||||||
|
// Importing saved images
|
||||||
|
instance.import(images?.entries() ?? []);
|
||||||
|
});
|
||||||
|
```
|
||||||
|
CSS in the `/index.css` file
|
||||||
|
|
||||||
|
## Example with handling movemens and deletings
|
||||||
|
```html
|
||||||
|
<section id="wrap">
|
||||||
|
<label for="images" class="unselectable">
|
||||||
|
Choose images
|
||||||
|
<input id="images" type="file" name="images" accept="image/png, image/jpeg, image/webp" multiple="true" onchange="document.getElementById('wrap')?.gallery.import(this.files)" />
|
||||||
|
</label>
|
||||||
|
<button id="reset" onclick="document.getElementById('wrap')?.gallery.ascending()">Reset</button>
|
||||||
|
|
||||||
|
<label id="loader" for="images" class="unselectable">Empty</label>
|
||||||
|
<div id="gallery" data-initial-images="/images/0.jpg;/images/1.jpg;/images/2.jpg"></div>
|
||||||
|
|
||||||
|
<span id="order" class="unselectable">Order:</div>
|
||||||
|
</section>
|
||||||
|
```
|
||||||
|
```js
|
||||||
|
import("/js/modules/gallery.mjs").then((module) => {
|
||||||
|
// Initializing the instance
|
||||||
|
const instance = new module.gallery(
|
||||||
|
document.getElementById("product_images_wrap"),
|
||||||
|
document.getElementById("product_images_input"),
|
||||||
|
document.getElementById("product_images_gallery"),
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
|
||||||
|
// Initializing the delete button event
|
||||||
|
instance.events.get("wrap").set("delete", (event) => {
|
||||||
|
// Searching for the closest parent wrap
|
||||||
|
const wrap = event.target.closest("div.image")?.getAttribute("id");
|
||||||
|
|
||||||
|
// Deleting the image from the account buffer
|
||||||
|
core.account.buffer.delete("import_create_images_" + wrap);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Reinitializing the drop event
|
||||||
|
instance.events.get("moving").set("drop", (event) => {
|
||||||
|
// Searching for the closest parent wrap identifier
|
||||||
|
const wrap = event.target.closest("div.image")?.getAttribute("id");
|
||||||
|
|
||||||
|
// Writing into the account buffer (swapping images)
|
||||||
|
instance.export(wrap).then((src) =>
|
||||||
|
core.account.buffer.write("import_create_images_" + instance.dragged,src.replace("/storage", ""), true));
|
||||||
|
instance.export(instance.dragged).then((src) =>
|
||||||
|
core.account.buffer.write("import_create_images_" + wrap, src.replace("/storage", ""), true));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Initializing saved images
|
||||||
|
const images = instance.gallery.getAttribute("data-initial-images")?.split(";");
|
||||||
|
|
||||||
|
// Importing saved images
|
||||||
|
instance.import(images?.entries() ?? []);
|
||||||
|
});
|
||||||
|
```
|
||||||
|
CSS in the `/index.css` file
|
||||||
|
|
||||||
|
|
||||||
## Demonstration
|
## Demonstration
|
||||||
### [CodePen](https://codepen.io/mirzaev-sexy/pen/RNPdYvv)
|
### [CodePen](https://codepen.io/mirzaev-sexy/pen/RNPdYvv)
|
||||||
<br>
|
<br>
|
||||||
|
Reference in New Issue
Block a user