1OrderApp = { 2 categories: [], 3 anchorProduct:0, 4 userdata: { 5 customernumber: { label: 'Kunden-Nr.', value: '', type: 'text' }, 6 companyname: { label: 'Firmenname', value: '', type: 'text' }, 7 name: { label: 'Name des Bestellers', value: '', type: 'text', required: true }, 8 street: { label: 'StraÃe, Nr.', value: '', type: 'text', required: true }, 9 plz: { label: 'Postleitzahl', value: '', type: 'text', required: true }, 10 city: { label: 'Ort', value: '', type: 'text', required: true }, 11 phone: { label: 'Telefon', value: '', type: 'text', required: true }, 12 email: { label: 'E-Mail', value: '', type: 'email', required: true }, 13 text: { label: 'Texteingabe', value: '', type: 'textarea', full: true }, 14 }, 15 getAnchorProduct:function() { 16 var currentUrl = document.URL, 17 urlParts = currentUrl.split('#produkt-'); 18 19 return (urlParts.length > 1) ? parseInt(urlParts[1]) : 0; 20 }, 21 send: function () { 22 if (!OrderApp.validate()) { 23 return; 24 } 25 var customer = ''; 26 if (OrderApp.userdata.customernumber.value != '') { 27 customer += "Kundennummer: " + OrderApp.userdata.customernumber.value + "\n" 28 } 29 if (OrderApp.userdata.companyname.value != '') { 30 customer += OrderApp.userdata.companyname.value + "\n" 31 } 32 customer += OrderApp.userdata.name.value + "\n" 33 customer += OrderApp.userdata.street.value + "\n" 34 customer += OrderApp.userdata.plz.value + " " + OrderApp.userdata.city.value + "\n\n" 35 customer += "Tel: " + OrderApp.userdata.phone.value + "\n" 36 customer += "E-Mail: " + OrderApp.userdata.email.value + "\n" 37 if (OrderApp.userdata.text.value != '') { 38 customer += "\nText:\n" + OrderApp.userdata.text.value + "\n" 39 } 40 41 var order = ''; 42 var noProducts=true; 43 OrderApp.categories.forEach(function (category) { 44 45 category.products.forEach(function (product) { 46 if (product.hasOwnProperty('amount') && product.amount != '') { 47 noProducts=false; 48 order += product.title +"\n"+product.content +"\n"+"Menge: "+product.amount+"\n\n" 49 } 50 51 }) 52 53 }); 54 if(noProducts){ 55 //Jetzt auch ohne Produkte 56 // alert('Sie haben keinen Artikel gewählt') 57 // return; 58 } 59 60 var impress="PAGATEC OPERATING GmbH\n" 61 +"Industriepark Nord\n" 62 +"Siemensstr. 7-9\n" 63 +"26871 Papenburg\n\n" 64 +"Telefon: 04961/91 20 â 0\n" 65 +"Fax: 04961/91 20 â 90\n" 66 +"Email: [email protected]\n\n" 67 +"Geschäftsführende Gesellschafter: Timo Gesen und Florian Gesen\n" 68 +"Handelsregister Osnabrück HRB Nr. 121136\n" 69 +"Umsatzsteuer-ID: DE 116960876" 70 71 var mailToPagatec=customer+"\n\n"+order; 72 var mailToCustomer="Lieber Kunde,\nvielen Dank für Ihre Bestellung.\n\nMit dieser Mail bestätigen wir Ihnen, dass Sie folgende Artikel bei uns bestellt haben: "+"\n\n"+order+"\n\n"+impress; 73 74 75 var body = new FormData(); 76 body.append("action", "nullacht_send_orderform"); 77 body.append("mailToPagatec", mailToPagatec); 78 body.append("mailToCustomer", mailToCustomer); 79 body.append("useremail", OrderApp.userdata.email.value); 80 81 m.request({ 82 method: "POST", 83 url: "/wp-admin/admin-ajax.php", 84 body: body, 85 }) 86 .then(function (result) { 87 m.mount(document.getElementById('orderform-container'), Finish) 88 }) 89 .catch(function (e) { 90 alert('Es ist ein Fehler aufgetreten'); 91 }) 92 }, 93 validate: function () { 94 var inputs = document.querySelectorAll('.user-form-item input'); 95 96 for (var i = 0; i < inputs.length; i++) { 97 if (!inputs[i].reportValidity()) { 98 return false 99 // input.reportValidity(valid) 100 } 101 } 102 return true; 103 104 }, 105 init: function () { 106 OrderApp.anchorProduct=OrderApp.getAnchorProduct(); 107 108 var body = new FormData(); 109 body.append("action", "nullacht_getproducts_ajax"); 110 111 m.request({ 112 method: "POST", 113 url: "/wp-admin/admin-ajax.php", 114 body: body, 115 }) 116 .then(function (result) { 117 OrderApp.categories = result; 118 119 // if (result == 1) { 120 m.mount(document.getElementById('orderform-container'), Layout) 121 // } 122 }) 123 .catch(function (e) { 124 alert('Es ist ein Fehler aufgetreten'); 125 }) 126 127 } 128} 129 130Finish={ 131 oncreate:function(){ 132 document.querySelector(".top-wrap").scrollIntoView(); 133 }, 134 view: function (vnode) { 135 return m('.success',[ 136 'Vielen Dank für Ihre Bestellung!' 137 ]) 138 } 139 140} 141 142Layout = { 143 oncreate: function (vnode) { 144 jQuery(".acc-item:not(.open) .product-list").hide(); 145 jQuery(".acc-item h3").click(function () { 146 var that = jQuery(this); 147 jQuery(this).parent().find('.product-list').slideToggle("slow", function () { 148 jQuery(that).parent().toggleClass('open') 149 }); 150 }); 151 jQuery("a.lb").fancybox(); 152 var elem=document.querySelector('.anchor-product') 153 if(elem!=null){ 154 elem.scrollIntoView(); 155 window.scrollBy(0,-30) 156 } 157 158 }, 159 view: function (vnode) { 160 return m('.orderform', [ 161 162 OrderApp.categories.map(function (category) { 163 return m('.acc-item',{ 164 class:category.products.filter(function(product){return product.id==OrderApp.anchorProduct}).length>0?"open":"" 165 }, [ 166 m('h3', [ 167 category.name, 168 m('span') 169 ]), 170 m('.product-list', [ 171 category.products.map(function (product) { 172 return m(Product, { product: product }) 173 }) 174 ]) 175 176 ]) 177 }), 178 179 m(Userform) 180 181 ]) 182 } 183} 184Product = { 185 view: function (vnode) { 186 return m('.product', { 187 class:vnode.attrs.product.id==OrderApp.anchorProduct?"anchor-product":"" 188 },[ 189 m('.product-left',[ 190 m.trust('<a class="lb" href="'+vnode.attrs.product.image+'" target="_self"><img src="'+vnode.attrs.product.thumbnail+'"/></a>') 191 192 ]), 193 m('.product-right',[ 194 m('h4', vnode.attrs.product.title), 195 m('p', m.trust(vnode.attrs.product.content.replace(/\r\n/g, "<br />"))), 196 m('.input-field', [ 197 m('label', vnode.attrs.product.boxed == "yes" ? "Menge / Kartonanzahl" : "Menge"), 198 m('input', { 199 type: 'text', 200 onchange: function () { 201 vnode.attrs.product.amount = this.value 202 } 203 }) 204 ]) 205 206 ]) 207 208 ]) 209 } 210} 211Userform = { 212 view: function (vnode) { 213 return m('.user-form', m('form#user-form', [ 214 m('h3', 'Meine Kundendaten'), 215 m('p', 'Als Bestandskunde sind Ihre gewohnten Preise in unserem Kundensystem hinterlegt. Sind sie ein Neukunde? Teilen Sie uns Ihre KonsumgröÃe für den Warenverbrauch mit und wir ermitteln Ihre Einkaufskonditionen, das ganze ohne Warenabnahmeverpflichtungen oder Mindestbestellmengen.'), 216 217 m('.user-form-row', [ 218 m(UserformItem, OrderApp.userdata.customernumber), 219 ]), 220 m('.user-form-row', [ 221 m(UserformItem, OrderApp.userdata.companyname), 222 m(UserformItem, OrderApp.userdata.name), 223 ]), 224 m('.user-form-row', [ 225 m(UserformItem, OrderApp.userdata.street), 226 m('.user-form-row', [ 227 m(UserformItem, OrderApp.userdata.plz), 228 m(UserformItem, OrderApp.userdata.city) 229 ]), 230 231 ]), 232 m('.user-form-row', [ 233 m(UserformItem, OrderApp.userdata.phone), 234 m(UserformItem, OrderApp.userdata.email), 235 ]), 236 m(UserformItem, OrderApp.userdata.text), 237 m('button', { 238 onclick: function (e) { 239 // e.preventDefault() 240 // e.stopPropagation() 241 OrderApp.send() 242 return false;
243 } 244 }, 'Senden') 245 246 ])) 247 } 248} 249UserformItem = { 250 view: function (vnode) { 251 return m('.user-form-item', { 252 class: vnode.attrs.full ? 'full' : '' 253 }, 254 [ 255 m('label', [ 256 vnode.attrs.label, 257 vnode.attrs.required ? m('span', '*') : '' 258 ]), 259 vnode.attrs.type == 'textarea' ? 260 m('textarea', { 261 onchange: function (e) { 262 e.redraw = false 263 vnode.attrs.value = this.value 264 265 } 266 }) : 267 m('input', { 268 type: vnode.attrs.type, 269 required: vnode.attrs.required, 270 onchange: function (e) { 271 e.redraw = false 272 vnode.attrs.value = this.value 273 // OrderApp.validate(); 274 } 275 }) 276 277 ]) 278 } 279} 280if (document.getElementById('orderform-container') != null) { 281 OrderApp.init() 282}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.