Skip to content

Commit

Permalink
Add DOM Manipulation on Shopify
Browse files Browse the repository at this point in the history
  • Loading branch information
ricklove committed Jan 11, 2017
1 parent 781c68e commit 3e1750f
Show file tree
Hide file tree
Showing 7 changed files with 80 additions and 5 deletions.
3 changes: 3 additions & 0 deletions deployment/lib/src-server/resources/shopify-script.d.ts
@@ -0,0 +1,3 @@
declare const className_productCard = "product-card__image-wrapper";
declare const attribute_previewImageUrl = "data-preview-image";
declare function load(): void;
22 changes: 21 additions & 1 deletion deployment/lib/src-server/resources/shopify-script.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion deployment/lib/src-server/resources/shopify-script.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions lib/src-server/resources/shopify-script.d.ts
@@ -0,0 +1,3 @@
declare const className_productCard = "product-card__image-wrapper";
declare const attribute_previewImageUrl = "data-preview-image";
declare function load(): void;
22 changes: 21 additions & 1 deletion lib/src-server/resources/shopify-script.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion lib/src-server/resources/shopify-script.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 30 additions & 1 deletion src-server/resources/shopify-script.ts
@@ -1,4 +1,33 @@
// No Imports until webpack is setup

console.log('Told Shopify-Script Injected');
const className_productCard = 'product-card__image-wrapper';
const attribute_previewImageUrl = 'data-preview-image';

function load() {
console.log('shopify-script load START');
let elements = document.getElementsByClassName(className_productCard);
let productCards: HTMLDivElement[] = Array.prototype.filter.call(elements, (x: HTMLDivElement) => {
return x.getAttribute(attribute_previewImageUrl) != null;
});

let products = productCards.map(x => ({
element: x,
imageUrl: x.getAttribute(attribute_previewImageUrl) as string
}));

(window as any)['glip_add_image'] = () => {
console.log('clicked glip_add_image');
};

products.forEach(x => {
x.element.innerHTML = `
<img src='${x.imageUrl}' class='product-card__image'>
<button click='javascript:glip_add_image()'>Add Your Image for a Preview</button>
`;
});

console.log('shopify-script load END');
}


load();

0 comments on commit 3e1750f

Please sign in to comment.