Skip to content

Commit

Permalink
Add edit design method
Browse files Browse the repository at this point in the history
  • Loading branch information
HiepVu511 committed Aug 18, 2022
1 parent c915eb5 commit 1967f47
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 5 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@printcart/design-tool-sdk",
"version": "1.1.2",
"version": "1.2.0",
"type": "module",
"files": [
"dist"
Expand Down
38 changes: 34 additions & 4 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,22 +112,29 @@ class PrintcartDesigner {
);
}

open() {
const wrapper = document.getElementById(IFRAME_WRAPPER_ID);
const iframe = document.getElementById(IFRAME_ID);

#createDesignUrl() {
const url = new URL(this.#designerUrl);

url.searchParams.set("api_key", this.token);
url.searchParams.set("product_id", this.productId);
url.searchParams.set("parentUrl", window.location.href);

return url;
}

open() {
//TODO: Deduplicate
const wrapper = document.getElementById(IFRAME_WRAPPER_ID);
const iframe = document.getElementById(IFRAME_ID);

if (!iframe || !(iframe instanceof HTMLIFrameElement) || !wrapper) {
console.error("Can not find iframe element");

return;
}

const url = this.#createDesignUrl();

iframe.src = url.href;

wrapper.style.opacity = "1";
Expand All @@ -151,6 +158,29 @@ class PrintcartDesigner {
this.#emit("close");
}

editDesign(designId: string) {
const url = this.#createDesignUrl();

url.searchParams.set("design_id", designId);
url.searchParams.set("task", "edit");

const wrapper = document.getElementById(IFRAME_WRAPPER_ID);
const iframe = document.getElementById(IFRAME_ID);

if (!iframe || !(iframe instanceof HTMLIFrameElement) || !wrapper) {
console.error("Can not find iframe element");

return;
}

iframe.src = url.href;

wrapper.style.opacity = "1";
wrapper.style.visibility = "visible";

this.#emit("edit");
}

on(event: string, callback: (...args: any[]) => void) {
this.#emitter.on(event, callback);

Expand Down

0 comments on commit 1967f47

Please sign in to comment.