Law Enforcement, Military & FFL Sales Only
Error compiling template "Designs/Rapido/eCom/Product/Product.cshtml"
Line 13422: 'User.GetCurrentExtranetUserId()' is obsolete: 'Use GetCurrentFrontendUserId() instead.'
Line 13782: 'User.GetCurrentExtranetUserId()' is obsolete: 'Use GetCurrentFrontendUserId() instead.'
Line 14458: 'Services' does not contain a definition for 'Languages'
Line 14870: 'Services' does not contain a definition for 'Languages'
Line 14890: 'Extensions.GetPageService(IServiceLocator)' is obsolete: 'Use Dynamicweb.Content.Services.Pages instead.'
Line 17921: 'Product.GetPrice(string, string)' is obsolete: 'Use GetPrice(PriceContext) instead.'
Line 18529: 'Product.GetPrice(string, string)' is obsolete: 'Use GetPrice(PriceContext) instead.'
Line 22210: 'VariantGroupService.GetVariantGroup(string, string)' is obsolete: 'Use GetVariantGroup(string) instead. To get translated values use VariantGroup.Translations'
Line 23210: 'VariantGroupService.GetVariantGroup(string, string)' is obsolete: 'Use GetVariantGroup(string) instead. To get translated values use VariantGroup.Translations'

1 //------------------------------------------------------------------------------ 2 // <auto-generated> 3 // This code was generated by a tool. 4 // Runtime Version:4.0.30319.42000 5 // 6 // Changes to this file may cause incorrect behavior and will be lost if 7 // the code is regenerated. 8 // </auto-generated> 9 //------------------------------------------------------------------------------ 10 11 namespace CompiledRazorTemplates.Dynamic { 12 13 #line 6490 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14 using System; 15 16 #line default 17 #line hidden 18 19 #line 6504 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20 using System.Collections.Generic; 21 22 #line default 23 #line hidden 24 25 #line 6503 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 26 using System.Linq; 27 28 #line default 29 #line hidden 30 31 #line 6491 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 32 using System.Web; 33 34 #line default 35 #line hidden 36 37 #line 4 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 38 using Dynamicweb.Extensibility; 39 40 #line default 41 #line hidden 42 43 #line 5 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 44 using Dynamicweb.Content; 45 46 #line default 47 #line hidden 48 49 #line 2519 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 50 using System.IO; 51 52 #line default 53 #line hidden 54 55 #line 6502 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 56 using Dynamicweb.Core; 57 58 #line default 59 #line hidden 60 61 #line 4670 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 62 using System.Globalization; 63 64 #line default 65 #line hidden 66 67 #line 96 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 68 using System.Web.UI.HtmlControls; 69 70 #line default 71 #line hidden 72 73 #line 6644 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 74 using Dynamicweb.Rapido.Blocks; 75 76 #line default 77 #line hidden 78 79 #line 13 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 80 using Dynamicweb.Ecommerce; 81 82 #line default 83 #line hidden 84 85 #line 5140 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 86 using System.Text.RegularExpressions; 87 88 #line default 89 #line hidden 90 91 #line 2981 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 92 using System.Reflection; 93 94 #line default 95 #line hidden 96 97 #line 6035 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 98 using Dynamicweb.Rapido.Blocks.Components; 99 100 #line default 101 #line hidden 102 103 #line 98 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 104 using Dynamicweb.Rapido.Blocks.Components.Articles; 105 106 #line default 107 #line hidden 108 109 #line 99 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 110 using Dynamicweb.Rapido.Blocks.Components.Documentation; 111 112 #line default 113 #line hidden 114 115 #line 6648 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 116 using Dynamicweb.Rapido.Blocks.Components.General; 117 118 #line default 119 #line hidden 120 121 #line 6647 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 122 using Dynamicweb.Rapido.Blocks.Components.Ecommerce; 123 124 #line default 125 #line hidden 126 127 #line 2357 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 128 using Dna.Rizzo.Components; 129 130 #line default 131 #line hidden 132 133 #line 6646 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 134 using Dna.Kiesler.Components; 135 136 #line default 137 #line hidden 138 139 #line 3018 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 140 using Dynamicweb.Frontend; 141 142 #line default 143 #line hidden 144 145 #line 3019 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 146 using Dynamicweb.Frontend.Devices; 147 148 #line default 149 #line hidden 150 151 #line 3023 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 152 using HtmlAgilityPack; 153 154 #line default 155 #line hidden 156 157 #line 5638 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 158 using Dynamicweb.Rapido.Services; 159 160 #line default 161 #line hidden 162 163 #line 6029 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 164 using Dynamicweb.Rendering; 165 166 #line default 167 #line hidden 168 169 #line 6494 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 170 using Dna.Kiesler; 171 172 #line default 173 #line hidden 174 175 #line 6495 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 176 using Dynamicweb.Ecommerce.Products; 177 178 #line default 179 #line hidden 180 181 #line 6507 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 182 using Dynamicweb.Rapido.Blocks.Extensibility; 183 184 #line default 185 #line hidden 186 187 188 public class RazorEngine_3afbda0a2db64f8e826f2281aa812a5f : Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> { 189 190 #line hidden 191 192 #line 15 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 193 194 List<LoopItem> downloadDocuments = new List<LoopItem>(); 195 //downloadDocuments variable, will be defined in Fields.cshtml and used in ProductAssets.cshtml 196 197 BlocksPage productsPage = BlocksPage.GetBlockPage("Product"); 198 199 public static string ToPascalCase(string str) 200 { 201 return CultureInfo.InvariantCulture.TextInfo 202 .ToTitleCase(str.ToLowerInvariant()) 203 .Replace("-", "") 204 .Replace("_", "") 205 .Replace(" ", ""); 206 } 207 208 #line default 209 #line hidden 210 211 212 #line 105 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 213 public RazorEngine.Templating.TemplateWriter RenderBlockList(List<Block> blocks) 214 { 215 #line default 216 #line hidden 217 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 218 219 #line 106 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 220 221 bool debug = !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(HttpContext.Current.Request.QueryString.Get("debug")) : false; 222 blocks = blocks.OrderBy(item => item.SortId).ToList(); 223 224 foreach (Block item in blocks) 225 { 226 if (debug) { 227 228 229 #line default 230 #line hidden 231 WriteLiteralTo(__razor_helper_writer, " <!-- Block START: "); 232 233 234 #line 113 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 235 WriteTo(__razor_helper_writer, item.Id); 236 237 238 #line default 239 #line hidden 240 WriteLiteralTo(__razor_helper_writer, " -->\r\n"); 241 242 243 #line 114 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 244 } 245 246 if (item.Design == null) 247 { 248 249 250 #line default 251 #line hidden 252 253 #line 118 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 254 WriteTo(__razor_helper_writer, RenderBlock(item)); 255 256 257 #line default 258 #line hidden 259 260 #line 118 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 261 262 } 263 else if (item.Design.RenderType == RenderType.None) { 264 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 265 266 267 268 #line default 269 #line hidden 270 WriteLiteralTo(__razor_helper_writer, " <div"); 271 272 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 3753), Tuple.Create("\"", 3777) 273 274 #line 123 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 275 , Tuple.Create(Tuple.Create("", 3761), Tuple.Create<System.Object, System.Int32>(cssClass 276 277 #line default 278 #line hidden 279 , 3761), false) 280 , Tuple.Create(Tuple.Create(" ", 3770), Tuple.Create("dw-mod", 3771), true) 281 ); 282 283 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 284 285 WriteLiteralTo(__razor_helper_writer, " "); 286 287 288 #line 124 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 289 WriteTo(__razor_helper_writer, RenderBlock(item)); 290 291 292 #line default 293 #line hidden 294 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 295 296 297 #line 126 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 298 } 299 else if (item.Design.RenderType != RenderType.Hide) 300 { 301 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 302 303 if (!item.SkipRenderBlocksList) { 304 if (item.Design.RenderType == RenderType.Row) 305 { 306 307 308 #line default 309 #line hidden 310 WriteLiteralTo(__razor_helper_writer, " <div"); 311 312 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 4163), Tuple.Create("\"", 4218) 313 , Tuple.Create(Tuple.Create("", 4171), Tuple.Create("grid", 4171), true) 314 , Tuple.Create(Tuple.Create(" ", 4175), Tuple.Create("grid--align-content-start", 4176), true) 315 316 #line 134 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 317 , Tuple.Create(Tuple.Create(" ", 4201), Tuple.Create<System.Object, System.Int32>(cssClass 318 319 #line default 320 #line hidden 321 , 4202), false) 322 , Tuple.Create(Tuple.Create(" ", 4211), Tuple.Create("dw-mod", 4212), true) 323 ); 324 325 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 4219), Tuple.Create("\"", 4239) 326 , Tuple.Create(Tuple.Create("", 4224), Tuple.Create("Block__", 4224), true) 327 328 #line 134 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 329 , Tuple.Create(Tuple.Create("", 4231), Tuple.Create<System.Object, System.Int32>(item.Id 330 331 #line default 332 #line hidden 333 , 4231), false) 334 ); 335 336 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 337 338 WriteLiteralTo(__razor_helper_writer, " "); 339 340 341 #line 135 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 342 WriteTo(__razor_helper_writer, RenderBlock(item)); 343 344 345 #line default 346 #line hidden 347 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 348 349 350 #line 137 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 351 } 352 353 if (item.Design.RenderType == RenderType.Column) 354 { 355 string hidePadding = item.Design.HidePadding ? "u-no-padding" : ""; 356 string size = item.Design.Size ?? "12"; 357 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size; 358 359 360 361 #line default 362 #line hidden 363 WriteLiteralTo(__razor_helper_writer, " <div"); 364 365 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 4699), Tuple.Create("\"", 4830) 366 , Tuple.Create(Tuple.Create("", 4707), Tuple.Create("grid__col-lg-", 4707), true) 367 368 #line 145 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 369 , Tuple.Create(Tuple.Create("", 4720), Tuple.Create<System.Object, System.Int32>(item.Design.Size 370 371 #line default 372 #line hidden 373 , 4720), false) 374 , Tuple.Create(Tuple.Create(" ", 4737), Tuple.Create("grid__col-md-", 4738), true) 375 376 #line 145 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 377 , Tuple.Create(Tuple.Create("", 4751), Tuple.Create<System.Object, System.Int32>(item.Design.Size 378 379 #line default 380 #line hidden 381 , 4751), false) 382 , Tuple.Create(Tuple.Create(" ", 4768), Tuple.Create("grid__col-sm-12", 4769), true) 383 , Tuple.Create(Tuple.Create(" ", 4784), Tuple.Create("grid__col-xs-12", 4785), true) 384 385 #line 145 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 386 , Tuple.Create(Tuple.Create(" ", 4800), Tuple.Create<System.Object, System.Int32>(hidePadding 387 388 #line default 389 #line hidden 390 , 4801), false) 391 392 #line 145 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 393 , Tuple.Create(Tuple.Create(" ", 4813), Tuple.Create<System.Object, System.Int32>(cssClass 394 395 #line default 396 #line hidden 397 , 4814), false) 398 , Tuple.Create(Tuple.Create(" ", 4823), Tuple.Create("dw-mod", 4824), true) 399 ); 400 401 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 4831), Tuple.Create("\"", 4851) 402 , Tuple.Create(Tuple.Create("", 4836), Tuple.Create("Block__", 4836), true) 403 404 #line 145 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 405 , Tuple.Create(Tuple.Create("", 4843), Tuple.Create<System.Object, System.Int32>(item.Id 406 407 #line default 408 #line hidden 409 , 4843), false) 410 ); 411 412 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 413 414 WriteLiteralTo(__razor_helper_writer, " "); 415 416 417 #line 146 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 418 WriteTo(__razor_helper_writer, RenderBlock(item)); 419 420 421 #line default 422 #line hidden 423 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 424 425 426 #line 148 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 427 } 428 429 if (item.Design.RenderType == RenderType.Table) 430 { 431 432 433 #line default 434 #line hidden 435 WriteLiteralTo(__razor_helper_writer, " <table"); 436 437 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 5058), Tuple.Create("\"", 5088) 438 , Tuple.Create(Tuple.Create("", 5066), Tuple.Create("table", 5066), true) 439 440 #line 152 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 441 , Tuple.Create(Tuple.Create(" ", 5071), Tuple.Create<System.Object, System.Int32>(cssClass 442 443 #line default 444 #line hidden 445 , 5072), false) 446 , Tuple.Create(Tuple.Create(" ", 5081), Tuple.Create("dw-mod", 5082), true) 447 ); 448 449 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 5089), Tuple.Create("\"", 5109) 450 , Tuple.Create(Tuple.Create("", 5094), Tuple.Create("Block__", 5094), true) 451 452 #line 152 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 453 , Tuple.Create(Tuple.Create("", 5101), Tuple.Create<System.Object, System.Int32>(item.Id 454 455 #line default 456 #line hidden 457 , 5101), false) 458 ); 459 460 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 461 462 WriteLiteralTo(__razor_helper_writer, " "); 463 464 465 #line 153 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 466 WriteTo(__razor_helper_writer, RenderBlock(item)); 467 468 469 #line default 470 #line hidden 471 WriteLiteralTo(__razor_helper_writer, "\r\n </table>\r\n"); 472 473 474 #line 155 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 475 } 476 477 if (item.Design.RenderType == RenderType.TableRow) 478 { 479 480 481 #line default 482 #line hidden 483 WriteLiteralTo(__razor_helper_writer, " <tr"); 484 485 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 5318), Tuple.Create("\"", 5342) 486 487 #line 159 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 488 , Tuple.Create(Tuple.Create("", 5326), Tuple.Create<System.Object, System.Int32>(cssClass 489 490 #line default 491 #line hidden 492 , 5326), false) 493 , Tuple.Create(Tuple.Create(" ", 5335), Tuple.Create("dw-mod", 5336), true) 494 ); 495 496 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 5343), Tuple.Create("\"", 5363) 497 , Tuple.Create(Tuple.Create("", 5348), Tuple.Create("Block__", 5348), true) 498 499 #line 159 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 500 , Tuple.Create(Tuple.Create("", 5355), Tuple.Create<System.Object, System.Int32>(item.Id 501 502 #line default 503 #line hidden 504 , 5355), false) 505 ); 506 507 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 508 509 WriteLiteralTo(__razor_helper_writer, " "); 510 511 512 #line 160 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 513 WriteTo(__razor_helper_writer, RenderBlock(item)); 514 515 516 #line default 517 #line hidden 518 WriteLiteralTo(__razor_helper_writer, "\r\n </tr>\r\n"); 519 520 521 #line 162 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 522 } 523 524 if (item.Design.RenderType == RenderType.TableColumn) 525 { 526 527 528 #line default 529 #line hidden 530 WriteLiteralTo(__razor_helper_writer, " <td"); 531 532 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 5572), Tuple.Create("\"", 5596) 533 534 #line 166 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 535 , Tuple.Create(Tuple.Create("", 5580), Tuple.Create<System.Object, System.Int32>(cssClass 536 537 #line default 538 #line hidden 539 , 5580), false) 540 , Tuple.Create(Tuple.Create(" ", 5589), Tuple.Create("dw-mod", 5590), true) 541 ); 542 543 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 5597), Tuple.Create("\"", 5617) 544 , Tuple.Create(Tuple.Create("", 5602), Tuple.Create("Block__", 5602), true) 545 546 #line 166 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 547 , Tuple.Create(Tuple.Create("", 5609), Tuple.Create<System.Object, System.Int32>(item.Id 548 549 #line default 550 #line hidden 551 , 5609), false) 552 ); 553 554 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 555 556 WriteLiteralTo(__razor_helper_writer, " "); 557 558 559 #line 167 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 560 WriteTo(__razor_helper_writer, RenderBlock(item)); 561 562 563 #line default 564 #line hidden 565 WriteLiteralTo(__razor_helper_writer, "\r\n </td>\r\n"); 566 567 568 #line 169 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 569 } 570 571 if (item.Design.RenderType == RenderType.CardHeader) 572 { 573 574 575 #line default 576 #line hidden 577 WriteLiteralTo(__razor_helper_writer, " <div"); 578 579 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 5826), Tuple.Create("\"", 5862) 580 , Tuple.Create(Tuple.Create("", 5834), Tuple.Create("card-header", 5834), true) 581 582 #line 173 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 583 , Tuple.Create(Tuple.Create(" ", 5845), Tuple.Create<System.Object, System.Int32>(cssClass 584 585 #line default 586 #line hidden 587 , 5846), false) 588 , Tuple.Create(Tuple.Create(" ", 5855), Tuple.Create("dw-mod", 5856), true) 589 ); 590 591 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 592 593 WriteLiteralTo(__razor_helper_writer, " "); 594 595 596 #line 174 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 597 WriteTo(__razor_helper_writer, RenderBlock(item)); 598 599 600 #line default 601 #line hidden 602 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 603 604 605 #line 176 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 606 } 607 608 if (item.Design.RenderType == RenderType.CardBody) 609 { 610 611 612 #line default 613 #line hidden 614 WriteLiteralTo(__razor_helper_writer, " <div"); 615 616 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 6070), Tuple.Create("\"", 6099) 617 , Tuple.Create(Tuple.Create("", 6078), Tuple.Create("card", 6078), true) 618 619 #line 180 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 620 , Tuple.Create(Tuple.Create(" ", 6082), Tuple.Create<System.Object, System.Int32>(cssClass 621 622 #line default 623 #line hidden 624 , 6083), false) 625 , Tuple.Create(Tuple.Create(" ", 6092), Tuple.Create("dw-mod", 6093), true) 626 ); 627 628 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 629 630 WriteLiteralTo(__razor_helper_writer, " "); 631 632 633 #line 181 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 634 WriteTo(__razor_helper_writer, RenderBlock(item)); 635 636 637 #line default 638 #line hidden 639 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 640 641 642 #line 183 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 643 } 644 645 if (item.Design.RenderType == RenderType.CardFooter) 646 { 647 648 649 #line default 650 #line hidden 651 WriteLiteralTo(__razor_helper_writer, " <div"); 652 653 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 6309), Tuple.Create("\"", 6345) 654 , Tuple.Create(Tuple.Create("", 6317), Tuple.Create("card-footer", 6317), true) 655 656 #line 187 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 657 , Tuple.Create(Tuple.Create(" ", 6328), Tuple.Create<System.Object, System.Int32>(cssClass 658 659 #line default 660 #line hidden 661 , 6329), false) 662 , Tuple.Create(Tuple.Create(" ", 6338), Tuple.Create("dw-mod", 6339), true) 663 ); 664 665 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 666 667 WriteLiteralTo(__razor_helper_writer, " "); 668 669 670 #line 188 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 671 WriteTo(__razor_helper_writer, RenderBlock(item)); 672 673 674 #line default 675 #line hidden 676 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 677 678 679 #line 190 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 680 } 681 } 682 else 683 { 684 685 686 #line default 687 #line hidden 688 689 #line 194 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 690 WriteTo(__razor_helper_writer, RenderBlock(item)); 691 692 693 #line default 694 #line hidden 695 696 #line 194 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 697 698 } 699 } 700 701 if (debug) { 702 703 704 #line default 705 #line hidden 706 WriteLiteralTo(__razor_helper_writer, " <!-- Block END: "); 707 708 709 #line 199 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 710 WriteTo(__razor_helper_writer, item.Id); 711 712 713 #line default 714 #line hidden 715 WriteLiteralTo(__razor_helper_writer, " -->\r\n"); 716 717 718 #line 200 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 719 } 720 } 721 722 723 #line default 724 #line hidden 725 }); 726 727 #line 202 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 728 } 729 #line default 730 #line hidden 731 732 733 #line 204 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 734 public RazorEngine.Templating.TemplateWriter RenderBlock(Block item) 735 { 736 #line default 737 #line hidden 738 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 739 740 #line 205 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 741 742 bool debug = !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(HttpContext.Current.Request.QueryString.Get("debug")) : false; 743 744 if (item.Template != null) 745 { 746 747 748 #line default 749 #line hidden 750 751 #line 210 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 752 WriteTo(__razor_helper_writer, BlocksPage.RenderTemplate(item.Template)); 753 754 755 #line default 756 #line hidden 757 758 #line 210 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 759 760 } 761 762 if (item.Component != null) 763 { 764 string customSufix = "Custom"; 765 string methodName = item.Component.HelperName; 766 767 ComponentBase[] methodParameters = new ComponentBase[1]; 768 methodParameters[0] = item.Component; 769 Type methodType = this.GetType(); 770 771 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix); 772 MethodInfo generalMethod = methodType.GetMethod(methodName); 773 774 try { 775 if (debug) { 776 777 778 #line default 779 #line hidden 780 WriteLiteralTo(__razor_helper_writer, " <!-- Component: "); 781 782 783 #line 227 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 784 WriteTo(__razor_helper_writer, methodName.Replace("Render", "")); 785 786 787 #line default 788 #line hidden 789 WriteLiteralTo(__razor_helper_writer, " -->\r\n"); 790 791 792 #line 228 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 793 } 794 795 796 #line default 797 #line hidden 798 799 #line 229 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 800 WriteTo(__razor_helper_writer, customMethod.Invoke(this, methodParameters).ToString()); 801 802 803 #line default 804 #line hidden 805 806 #line 229 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 807 ; 808 } catch { 809 try { 810 811 812 #line default 813 #line hidden 814 815 #line 232 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 816 WriteTo(__razor_helper_writer, generalMethod.Invoke(this, methodParameters).ToString()); 817 818 819 #line default 820 #line hidden 821 822 #line 232 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 823 ; 824 } catch(Exception ex) { 825 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex); 826 } 827 } 828 } 829 830 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList) 831 { 832 833 834 #line default 835 #line hidden 836 837 #line 241 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 838 WriteTo(__razor_helper_writer, RenderBlockList(item.BlocksList)); 839 840 841 #line default 842 #line hidden 843 844 #line 241 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 845 846 } 847 848 849 #line default 850 #line hidden 851 }); 852 853 #line 243 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 854 } 855 #line default 856 #line hidden 857 858 859 #line 258 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 860 public RazorEngine.Templating.TemplateWriter Render(ComponentBase component) 861 { 862 #line default 863 #line hidden 864 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 865 866 #line 259 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 867 868 if (component != null) 869 { 870 871 872 #line default 873 #line hidden 874 875 #line 262 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 876 WriteTo(__razor_helper_writer, component.Render(this)); 877 878 879 #line default 880 #line hidden 881 882 #line 262 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 883 884 } 885 886 887 #line default 888 #line hidden 889 }); 890 891 #line 264 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 892 } 893 #line default 894 #line hidden 895 896 897 #line 273 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 898 public RazorEngine.Templating.TemplateWriter RenderIcon(Icon settings) 899 { 900 #line default 901 #line hidden 902 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 903 904 #line 274 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 905 906 if (settings != null) 907 { 908 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 909 910 if (settings.Name != null) 911 { 912 if (string.IsNullOrEmpty(settings.Label)) 913 { 914 915 916 #line default 917 #line hidden 918 WriteLiteralTo(__razor_helper_writer, " <i"); 919 920 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 8923), Tuple.Create("\"", 8981) 921 922 #line 283 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 923 , Tuple.Create(Tuple.Create("", 8931), Tuple.Create<System.Object, System.Int32>(settings.Prefix 924 925 #line default 926 #line hidden 927 , 8931), false) 928 929 #line 283 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 930 , Tuple.Create(Tuple.Create(" ", 8947), Tuple.Create<System.Object, System.Int32>(settings.Name 931 932 #line default 933 #line hidden 934 , 8948), false) 935 936 #line 283 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 937 , Tuple.Create(Tuple.Create(" ", 8962), Tuple.Create<System.Object, System.Int32>(settings.CssClass 938 939 #line default 940 #line hidden 941 , 8963), false) 942 ); 943 944 WriteLiteralTo(__razor_helper_writer, " "); 945 946 947 #line 283 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 948 WriteTo(__razor_helper_writer, color); 949 950 951 #line default 952 #line hidden 953 WriteLiteralTo(__razor_helper_writer, "></i>\r\n"); 954 955 956 #line 284 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 957 } 958 else 959 { 960 if (settings.LabelPosition == IconLabelPosition.Before) 961 { 962 963 964 #line default 965 #line hidden 966 WriteLiteralTo(__razor_helper_writer, " <div"); 967 968 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 9160), Tuple.Create("\"", 9220) 969 , Tuple.Create(Tuple.Create("", 9168), Tuple.Create("u-flex", 9168), true) 970 , Tuple.Create(Tuple.Create(" ", 9174), Tuple.Create("u-flex--align-items-center", 9175), true) 971 972 #line 289 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 973 , Tuple.Create(Tuple.Create(" ", 9201), Tuple.Create<System.Object, System.Int32>(settings.CssClass 974 975 #line default 976 #line hidden 977 , 9202), false) 978 ); 979 980 WriteLiteralTo(__razor_helper_writer, ">"); 981 982 983 #line 289 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 984 WriteTo(__razor_helper_writer, settings.Label); 985 986 987 #line default 988 #line hidden 989 WriteLiteralTo(__razor_helper_writer, " <i"); 990 991 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 9240), Tuple.Create("\"", 9293) 992 993 #line 289 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 994 , Tuple.Create(Tuple.Create("", 9248), Tuple.Create<System.Object, System.Int32>(settings.Prefix 995 996 #line default 997 #line hidden 998 , 9248), false) 999 1000 #line 289 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1001 , Tuple.Create(Tuple.Create(" ", 9264), Tuple.Create<System.Object, System.Int32>(settings.Name 1002 1003 #line default 1004 #line hidden 1005 , 9265), false) 1006 , Tuple.Create(Tuple.Create(" ", 9279), Tuple.Create("u-margin-left", 9280), true) 1007 ); 1008 1009 WriteLiteralTo(__razor_helper_writer, " "); 1010 1011 1012 #line 289 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1013 WriteTo(__razor_helper_writer, color); 1014 1015 1016 #line default 1017 #line hidden 1018 WriteLiteralTo(__razor_helper_writer, "></i></div>\r\n"); 1019 1020 1021 #line 290 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1022 } 1023 else 1024 { 1025 1026 1027 #line default 1028 #line hidden 1029 WriteLiteralTo(__razor_helper_writer, " <div"); 1030 1031 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 9398), Tuple.Create("\"", 9458) 1032 , Tuple.Create(Tuple.Create("", 9406), Tuple.Create("u-flex", 9406), true) 1033 , Tuple.Create(Tuple.Create(" ", 9412), Tuple.Create("u-flex--align-items-center", 9413), true) 1034 1035 #line 293 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1036 , Tuple.Create(Tuple.Create(" ", 9439), Tuple.Create<System.Object, System.Int32>(settings.CssClass 1037 1038 #line default 1039 #line hidden 1040 , 9440), false) 1041 ); 1042 1043 WriteLiteralTo(__razor_helper_writer, "><i"); 1044 1045 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 9462), Tuple.Create("\"", 9528) 1046 1047 #line 293 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1048 , Tuple.Create(Tuple.Create("", 9470), Tuple.Create<System.Object, System.Int32>(settings.Prefix 1049 1050 #line default 1051 #line hidden 1052 , 9470), false) 1053 1054 #line 293 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1055 , Tuple.Create(Tuple.Create(" ", 9486), Tuple.Create<System.Object, System.Int32>(settings.Name 1056 1057 #line default 1058 #line hidden 1059 , 9487), false) 1060 , Tuple.Create(Tuple.Create(" ", 9501), Tuple.Create("u-margin-right--lg", 9502), true) 1061 , Tuple.Create(Tuple.Create(" ", 9520), Tuple.Create("u-w20px", 9521), true) 1062 ); 1063 1064 WriteLiteralTo(__razor_helper_writer, " "); 1065 1066 1067 #line 293 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1068 WriteTo(__razor_helper_writer, color); 1069 1070 1071 #line default 1072 #line hidden 1073 WriteLiteralTo(__razor_helper_writer, "></i>"); 1074 1075 1076 #line 293 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1077 WriteTo(__razor_helper_writer, settings.Label); 1078 1079 1080 #line default 1081 #line hidden 1082 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 1083 1084 1085 #line 294 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1086 } 1087 } 1088 } 1089 else if (!string.IsNullOrEmpty(settings.Label)) 1090 { 1091 1092 1093 #line default 1094 #line hidden 1095 1096 #line 299 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1097 WriteTo(__razor_helper_writer, settings.Label); 1098 1099 1100 #line default 1101 #line hidden 1102 1103 #line 299 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1104 1105 } 1106 } 1107 1108 1109 #line default 1110 #line hidden 1111 }); 1112 1113 #line 302 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1114 } 1115 #line default 1116 #line hidden 1117 1118 1119 #line 310 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1120 public RazorEngine.Templating.TemplateWriter RenderButton(Button settings) 1121 { 1122 #line default 1123 #line hidden 1124 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1125 1126 #line 311 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1127 1128 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 1129 { 1130 Dictionary<string, string> attributes = new Dictionary<string, string>(); 1131 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 1132 if (settings.Disabled) { 1133 attributes.Add("disabled", "true"); 1134 classList.Add("disabled"); 1135 } 1136 1137 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle)) 1138 { 1139 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 1140 1141 1142 #line default 1143 #line hidden 1144 1145 #line 324 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1146 WriteTo(__razor_helper_writer, RenderConfirmDialog(settings)); 1147 1148 1149 #line default 1150 #line hidden 1151 1152 #line 324 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1153 ; 1154 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true"; 1155 } 1156 1157 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1158 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1159 if (!string.IsNullOrEmpty(settings.AltText)) 1160 { 1161 attributes.Add("title", settings.AltText); 1162 } 1163 1164 var onClickEvents = new List<string>(); 1165 if (!string.IsNullOrEmpty(settings.OnClick)) 1166 { 1167 onClickEvents.Add(settings.OnClick); 1168 } 1169 if (!string.IsNullOrEmpty(settings.Href)) 1170 { 1171 if (settings.Href.StartsWith("http") || settings.Href.StartsWith("/Files")) 1172 { 1173 onClickEvents.Add($"javascript:window.open('{settings.Href}', '_blank');"); 1174 } 1175 else 1176 { 1177 onClickEvents.Add("location.href='" + settings.Href + "'"); 1178 } 1179 } 1180 if (onClickEvents.Count > 0) 1181 { 1182 attributes.Add("onClick", string.Join(";", onClickEvents)); 1183 } 1184 1185 if (settings.ButtonLayout != ButtonLayout.None) 1186 { 1187 classList.Add("btn"); 1188 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 1189 if (btnLayout == "linkclean") 1190 { 1191 btnLayout = "link-clean"; //fix 1192 } 1193 classList.Add("btn--" + btnLayout); 1194 } 1195 1196 if (settings.Icon == null) 1197 { 1198 settings.Icon = new Icon(); 1199 } 1200 1201 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : ""; 1202 settings.Icon.Label = settings.Title; 1203 1204 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower()); 1205 1206 1207 1208 #line default 1209 #line hidden 1210 WriteLiteralTo(__razor_helper_writer, " <button"); 1211 1212 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 12462), Tuple.Create("\"", 12505) 1213 1214 #line 377 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1215 , Tuple.Create(Tuple.Create("", 12470), Tuple.Create<System.Object, System.Int32>(string.Join(" ", classList) 1216 1217 #line default 1218 #line hidden 1219 , 12470), false) 1220 , Tuple.Create(Tuple.Create(" ", 12498), Tuple.Create("dw-mod", 12499), true) 1221 ); 1222 1223 WriteLiteralTo(__razor_helper_writer, " "); 1224 1225 1226 #line 377 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1227 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(attributes)); 1228 1229 1230 #line default 1231 #line hidden 1232 WriteLiteralTo(__razor_helper_writer, " "); 1233 1234 1235 #line 377 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1236 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 1237 1238 1239 #line default 1240 #line hidden 1241 WriteLiteralTo(__razor_helper_writer, ">"); 1242 1243 1244 #line 377 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1245 WriteTo(__razor_helper_writer, Render(settings.Icon)); 1246 1247 1248 #line default 1249 #line hidden 1250 WriteLiteralTo(__razor_helper_writer, "</button>\r\n"); 1251 1252 1253 #line 378 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1254 } 1255 1256 1257 #line default 1258 #line hidden 1259 }); 1260 1261 #line 379 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1262 } 1263 #line default 1264 #line hidden 1265 1266 1267 #line 381 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1268 public RazorEngine.Templating.TemplateWriter RenderConfirmDialog(Button settings) 1269 { 1270 #line default 1271 #line hidden 1272 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1273 1274 #line 382 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1275 1276 Modal confirmDialog = new Modal { 1277 Id = settings.Id, 1278 Width = ModalWidth.Sm, 1279 Heading = new Heading 1280 { 1281 Level = 2, 1282 Title = settings.ConfirmTitle 1283 }, 1284 BodyText = settings.ConfirmText 1285 }; 1286 1287 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"}); 1288 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick }); 1289 1290 1291 1292 #line default 1293 #line hidden 1294 1295 #line 397 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1296 WriteTo(__razor_helper_writer, Render(confirmDialog)); 1297 1298 1299 #line default 1300 #line hidden 1301 1302 #line 397 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1303 1304 1305 1306 #line default 1307 #line hidden 1308 }); 1309 1310 #line 398 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1311 } 1312 #line default 1313 #line hidden 1314 1315 1316 #line 403 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1317 public RazorEngine.Templating.TemplateWriter RenderDashboard(Dashboard settings) 1318 { 1319 #line default 1320 #line hidden 1321 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1322 1323 #line 404 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1324 1325 var widgets = settings.GetWidgets(); 1326 1327 if (!string.IsNullOrEmpty(settings.WidgetsBaseBackgroundColor)) 1328 { 1329 //set bg color for them 1330 1331 System.Drawing.Color color = System.Drawing.ColorTranslator.FromHtml(settings.WidgetsBaseBackgroundColor); 1332 int r = Convert.ToInt16(color.R); 1333 int g = Convert.ToInt16(color.G); 1334 int b = Convert.ToInt16(color.B); 1335 1336 var count = widgets.Length; 1337 var max = Math.Max(r, Math.Max(g, b)); 1338 double step = 255.0 / (max * count); 1339 var i = 0; 1340 foreach (var widget in widgets) 1341 { 1342 i++; 1343 1344 var shade = "rgb(" + Converter.ToString(r * step * i).Replace(",", ".") + ", " + Converter.ToString(g * step * i).Replace(",", ".") + ", " + Converter.ToString(b * step * i).Replace(",", ".") + ")"; 1345 widget.BackgroundColor = shade; 1346 } 1347 } 1348 1349 1350 1351 #line default 1352 #line hidden 1353 WriteLiteralTo(__razor_helper_writer, " <div"); 1354 1355 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 14501), Tuple.Create("\"", 14544) 1356 , Tuple.Create(Tuple.Create("", 14509), Tuple.Create("dashboard", 14509), true) 1357 1358 #line 429 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1359 , Tuple.Create(Tuple.Create(" ", 14518), Tuple.Create<System.Object, System.Int32>(settings.CssClass 1360 1361 #line default 1362 #line hidden 1363 , 14519), false) 1364 , Tuple.Create(Tuple.Create(" ", 14537), Tuple.Create("dw-mod", 14538), true) 1365 ); 1366 1367 WriteLiteralTo(__razor_helper_writer, " "); 1368 1369 1370 #line 429 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1371 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 1372 1373 1374 #line default 1375 #line hidden 1376 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1377 1378 1379 #line 430 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1380 1381 1382 #line default 1383 #line hidden 1384 1385 #line 430 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1386 foreach (var widget in widgets) 1387 { 1388 1389 1390 #line default 1391 #line hidden 1392 WriteLiteralTo(__razor_helper_writer, " <div"); 1393 1394 WriteLiteralTo(__razor_helper_writer, " class=\"dashboard__widget\""); 1395 1396 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1397 1398 WriteLiteralTo(__razor_helper_writer, " "); 1399 1400 1401 #line 433 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1402 WriteTo(__razor_helper_writer, Render(widget)); 1403 1404 1405 #line default 1406 #line hidden 1407 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 1408 1409 1410 #line 435 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1411 } 1412 1413 1414 #line default 1415 #line hidden 1416 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 1417 1418 1419 #line 437 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1420 1421 1422 #line default 1423 #line hidden 1424 }); 1425 1426 #line 437 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1427 } 1428 #line default 1429 #line hidden 1430 1431 1432 #line 441 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1433 public RazorEngine.Templating.TemplateWriter RenderDashboardWidgetLink(DashboardWidgetLink settings) 1434 { 1435 #line default 1436 #line hidden 1437 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1438 1439 #line 442 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1440 1441 if (!string.IsNullOrEmpty(settings.Link)) 1442 { 1443 var backgroundStyles = ""; 1444 if (!string.IsNullOrEmpty(settings.BackgroundColor)) 1445 { 1446 backgroundStyles = "style=\"background-color:" + settings.BackgroundColor + "\""; 1447 } 1448 1449 1450 1451 #line default 1452 #line hidden 1453 WriteLiteralTo(__razor_helper_writer, " <a"); 1454 1455 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 15230), Tuple.Create("\"", 15251) 1456 1457 #line 451 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1458 , Tuple.Create(Tuple.Create("", 15237), Tuple.Create<System.Object, System.Int32>(settings.Link 1459 1460 #line default 1461 #line hidden 1462 , 15237), false) 1463 ); 1464 1465 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 15252), Tuple.Create("\"", 15305) 1466 , Tuple.Create(Tuple.Create("", 15260), Tuple.Create("widget", 15260), true) 1467 , Tuple.Create(Tuple.Create(" ", 15266), Tuple.Create("widget--link", 15267), true) 1468 1469 #line 451 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1470 , Tuple.Create(Tuple.Create(" ", 15279), Tuple.Create<System.Object, System.Int32>(settings.CssClass 1471 1472 #line default 1473 #line hidden 1474 , 15280), false) 1475 , Tuple.Create(Tuple.Create(" ", 15298), Tuple.Create("dw-mod", 15299), true) 1476 ); 1477 1478 WriteLiteralTo(__razor_helper_writer, " "); 1479 1480 1481 #line 451 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1482 WriteTo(__razor_helper_writer, backgroundStyles); 1483 1484 1485 #line default 1486 #line hidden 1487 WriteLiteralTo(__razor_helper_writer, " title=\""); 1488 1489 1490 #line 451 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1491 WriteTo(__razor_helper_writer, settings.Title); 1492 1493 1494 #line default 1495 #line hidden 1496 WriteLiteralTo(__razor_helper_writer, "\" "); 1497 1498 1499 #line 451 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1500 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 1501 1502 1503 #line default 1504 #line hidden 1505 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 1506 1507 WriteLiteralTo(__razor_helper_writer, " class=\"u-center-middle u-color-light\""); 1508 1509 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1510 1511 1512 #line 453 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1513 1514 1515 #line default 1516 #line hidden 1517 1518 #line 453 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1519 if (settings.Icon != null) 1520 { 1521 settings.Icon.CssClass += "widget__icon"; 1522 1523 1524 #line default 1525 #line hidden 1526 1527 #line 456 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1528 WriteTo(__razor_helper_writer, Render(settings.Icon)); 1529 1530 1531 #line default 1532 #line hidden 1533 1534 #line 456 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1535 1536 } 1537 1538 1539 #line default 1540 #line hidden 1541 WriteLiteralTo(__razor_helper_writer, " <div"); 1542 1543 WriteLiteralTo(__razor_helper_writer, " class=\"widget__title\""); 1544 1545 WriteLiteralTo(__razor_helper_writer, ">"); 1546 1547 1548 #line 458 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1549 WriteTo(__razor_helper_writer, settings.Title); 1550 1551 1552 #line default 1553 #line hidden 1554 WriteLiteralTo(__razor_helper_writer, "</div>\r\n </div>\r\n </a>\r\n"); 1555 1556 1557 #line 461 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1558 } 1559 1560 1561 #line default 1562 #line hidden 1563 }); 1564 1565 #line 462 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1566 } 1567 #line default 1568 #line hidden 1569 1570 1571 #line 466 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1572 public RazorEngine.Templating.TemplateWriter RenderDashboardWidgetCounter(DashboardWidgetCounter settings) 1573 { 1574 #line default 1575 #line hidden 1576 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1577 1578 #line 467 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1579 1580 var backgroundStyles = ""; 1581 if (!string.IsNullOrEmpty(settings.BackgroundColor)) 1582 { 1583 backgroundStyles = "style='background-color:" + settings.BackgroundColor + "'"; 1584 } 1585 1586 1587 1588 #line default 1589 #line hidden 1590 WriteLiteralTo(__razor_helper_writer, " <div"); 1591 1592 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 16141), Tuple.Create("\"", 16181) 1593 , Tuple.Create(Tuple.Create("", 16149), Tuple.Create("widget", 16149), true) 1594 1595 #line 474 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1596 , Tuple.Create(Tuple.Create(" ", 16155), Tuple.Create<System.Object, System.Int32>(settings.CssClass 1597 1598 #line default 1599 #line hidden 1600 , 16156), false) 1601 , Tuple.Create(Tuple.Create(" ", 16174), Tuple.Create("dw-mod", 16175), true) 1602 ); 1603 1604 WriteLiteralTo(__razor_helper_writer, " "); 1605 1606 1607 #line 474 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1608 WriteTo(__razor_helper_writer, backgroundStyles); 1609 1610 1611 #line default 1612 #line hidden 1613 WriteLiteralTo(__razor_helper_writer, " "); 1614 1615 1616 #line 474 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1617 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 1618 1619 1620 #line default 1621 #line hidden 1622 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 1623 1624 WriteLiteralTo(__razor_helper_writer, " class=\"u-center-middle u-color-light\""); 1625 1626 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1627 1628 1629 #line 476 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1630 1631 1632 #line default 1633 #line hidden 1634 1635 #line 476 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1636 if (settings.Icon != null) 1637 { 1638 settings.Icon.CssClass += "widget__icon"; 1639 1640 1641 #line default 1642 #line hidden 1643 1644 #line 479 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1645 WriteTo(__razor_helper_writer, Render(settings.Icon)); 1646 1647 1648 #line default 1649 #line hidden 1650 1651 #line 479 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1652 1653 } 1654 1655 1656 #line default 1657 #line hidden 1658 WriteLiteralTo(__razor_helper_writer, " <div"); 1659 1660 WriteLiteralTo(__razor_helper_writer, " class=\"widget__counter\""); 1661 1662 WriteLiteralTo(__razor_helper_writer, ">"); 1663 1664 1665 #line 481 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1666 WriteTo(__razor_helper_writer, settings.Count); 1667 1668 1669 #line default 1670 #line hidden 1671 WriteLiteralTo(__razor_helper_writer, "</div>\r\n <div"); 1672 1673 WriteLiteralTo(__razor_helper_writer, " class=\"widget__title\""); 1674 1675 WriteLiteralTo(__razor_helper_writer, ">"); 1676 1677 1678 #line 482 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1679 WriteTo(__razor_helper_writer, settings.Title); 1680 1681 1682 #line default 1683 #line hidden 1684 WriteLiteralTo(__razor_helper_writer, "</div>\r\n </div>\r\n </div>\r\n"); 1685 1686 1687 #line 485 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1688 1689 1690 #line default 1691 #line hidden 1692 }); 1693 1694 #line 485 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1695 } 1696 #line default 1697 #line hidden 1698 1699 1700 #line 493 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1701 public RazorEngine.Templating.TemplateWriter RenderLink(Link settings) 1702 { 1703 #line default 1704 #line hidden 1705 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1706 1707 #line 494 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1708 1709 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 1710 { 1711 Dictionary<string, string> attributes = new Dictionary<string, string>(); 1712 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 1713 if (settings.Disabled) 1714 { 1715 attributes.Add("disabled", "true"); 1716 classList.Add("disabled"); 1717 } 1718 1719 if (!string.IsNullOrEmpty(settings.AltText)) 1720 { 1721 attributes.Add("title", settings.AltText); 1722 } 1723 else if (!string.IsNullOrEmpty(settings.Title)) 1724 { 1725 attributes.Add("title", settings.Title); 1726 } 1727 1728 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1729 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1730 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); } 1731 attributes.Add("href", settings.Href); 1732 1733 if (settings.ButtonLayout != ButtonLayout.None) 1734 { 1735 classList.Add("btn"); 1736 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 1737 if (btnLayout == "linkclean") 1738 { 1739 btnLayout = "link-clean"; //fix 1740 } 1741 classList.Add("btn--" + btnLayout); 1742 } 1743 1744 if (settings.Icon == null) 1745 { 1746 settings.Icon = new Icon(); 1747 } 1748 settings.Icon.Label = settings.Title; 1749 1750 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None) 1751 { 1752 settings.Rel = LinkRelType.Noopener; 1753 } 1754 if (settings.Target != LinkTargetType.None) 1755 { 1756 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower()); 1757 } 1758 else if (settings.Href.StartsWith("http") || settings.Href.StartsWith("/Files")) 1759 { 1760 attributes.Add("target", "_blank"); 1761 } 1762 1763 if (settings.Download) 1764 { 1765 attributes.Add("download", "true"); 1766 } 1767 if (settings.Rel != LinkRelType.None) 1768 { 1769 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower()); 1770 } 1771 1772 1773 1774 #line default 1775 #line hidden 1776 WriteLiteralTo(__razor_helper_writer, " <a"); 1777 1778 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 19317), Tuple.Create("\"", 19360) 1779 1780 #line 558 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1781 , Tuple.Create(Tuple.Create("", 19325), Tuple.Create<System.Object, System.Int32>(string.Join(" ", classList) 1782 1783 #line default 1784 #line hidden 1785 , 19325), false) 1786 , Tuple.Create(Tuple.Create(" ", 19353), Tuple.Create("dw-mod", 19354), true) 1787 ); 1788 1789 WriteLiteralTo(__razor_helper_writer, " "); 1790 1791 1792 #line 558 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1793 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(attributes)); 1794 1795 1796 #line default 1797 #line hidden 1798 WriteLiteralTo(__razor_helper_writer, " "); 1799 1800 1801 #line 558 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1802 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 1803 1804 1805 #line default 1806 #line hidden 1807 WriteLiteralTo(__razor_helper_writer, ">"); 1808 1809 1810 #line 558 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1811 WriteTo(__razor_helper_writer, Render(settings.Icon)); 1812 1813 1814 #line default 1815 #line hidden 1816 WriteLiteralTo(__razor_helper_writer, "</a>\r\n"); 1817 1818 1819 #line 559 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1820 } 1821 1822 1823 #line default 1824 #line hidden 1825 }); 1826 1827 #line 560 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1828 } 1829 #line default 1830 #line hidden 1831 1832 1833 #line 569 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1834 public RazorEngine.Templating.TemplateWriter RenderRating(Rating settings) 1835 { 1836 #line default 1837 #line hidden 1838 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1839 1840 #line 570 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1841 1842 if (settings.Score > 0) 1843 { 1844 int rating = settings.Score; 1845 string iconType = "fa-star"; 1846 1847 switch (settings.Type.ToString()) { 1848 case "Stars": 1849 iconType = "fa-star"; 1850 break; 1851 case "Hearts": 1852 iconType = "fa-heart"; 1853 break; 1854 case "Lemons": 1855 iconType = "fa-lemon"; 1856 break; 1857 case "Bombs": 1858 iconType = "fa-bomb"; 1859 break; 1860 } 1861 1862 1863 1864 #line default 1865 #line hidden 1866 WriteLiteralTo(__razor_helper_writer, " <div"); 1867 1868 WriteLiteralTo(__razor_helper_writer, " class=\"u-ta-right\""); 1869 1870 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 1871 1872 1873 #line 592 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1874 1875 1876 #line default 1877 #line hidden 1878 1879 #line 592 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1880 for (int i = 0; i < settings.OutOf; i++) 1881 { 1882 1883 1884 #line default 1885 #line hidden 1886 WriteLiteralTo(__razor_helper_writer, " <i"); 1887 1888 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 20380), Tuple.Create("\"", 20427) 1889 1890 #line 594 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1891 , Tuple.Create(Tuple.Create("", 20388), Tuple.Create<System.Object, System.Int32>(rating > i ? "fas" : "far" 1892 1893 #line default 1894 #line hidden 1895 , 20388), false) 1896 1897 #line 594 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1898 , Tuple.Create(Tuple.Create(" ", 20417), Tuple.Create<System.Object, System.Int32>(iconType 1899 1900 #line default 1901 #line hidden 1902 , 20418), false) 1903 ); 1904 1905 WriteLiteralTo(__razor_helper_writer, "></i>\r\n"); 1906 1907 1908 #line 595 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1909 } 1910 1911 1912 #line default 1913 #line hidden 1914 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 1915 1916 1917 #line 597 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1918 } 1919 1920 1921 #line default 1922 #line hidden 1923 }); 1924 1925 #line 598 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1926 } 1927 #line default 1928 #line hidden 1929 1930 1931 #line 606 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1932 public RazorEngine.Templating.TemplateWriter RenderSelectFieldOption(SelectFieldOption settings) 1933 { 1934 #line default 1935 #line hidden 1936 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1937 1938 #line 607 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1939 1940 Dictionary<string, string> attributes = new Dictionary<string, string>(); 1941 if (settings.Checked) { attributes.Add("selected", "true"); } 1942 if (settings.Disabled) { attributes.Add("disabled", "true"); } 1943 if (settings.Value != null) { attributes.Add("value", settings.Value); } 1944 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1945 1946 1947 1948 #line default 1949 #line hidden 1950 WriteLiteralTo(__razor_helper_writer, " <option "); 1951 1952 1953 #line 614 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1954 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(attributes)); 1955 1956 1957 #line default 1958 #line hidden 1959 WriteLiteralTo(__razor_helper_writer, " "); 1960 1961 1962 #line 614 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1963 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 1964 1965 1966 #line default 1967 #line hidden 1968 WriteLiteralTo(__razor_helper_writer, ">"); 1969 1970 1971 #line 614 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1972 WriteTo(__razor_helper_writer, settings.Label); 1973 1974 1975 #line default 1976 #line hidden 1977 WriteLiteralTo(__razor_helper_writer, "</option>\r\n"); 1978 1979 1980 #line 615 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1981 1982 1983 #line default 1984 #line hidden 1985 }); 1986 1987 #line 615 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1988 } 1989 #line default 1990 #line hidden 1991 1992 1993 #line 623 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 1994 public RazorEngine.Templating.TemplateWriter RenderNavigation(Navigation settings) { 1995 #line default 1996 #line hidden 1997 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 1998 1999 #line 623 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2000 2001 2002 2003 #line default 2004 #line hidden 2005 2006 #line 624 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2007 WriteTo(__razor_helper_writer, RenderNavigation(new 2008 { 2009 id = settings.Id, 2010 cssclass = settings.CssClass, 2011 startLevel = settings.StartLevel, 2012 endlevel = settings.EndLevel, 2013 expandmode = settings.Expandmode, 2014 sitemapmode = settings.SitemapMode, 2015 template = settings.Template 2016 })); 2017 2018 2019 #line default 2020 #line hidden 2021 2022 #line 633 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2023 2024 2025 2026 #line default 2027 #line hidden 2028 }); 2029 2030 #line 634 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2031 } 2032 #line default 2033 #line hidden 2034 2035 2036 #line 641 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2037 public RazorEngine.Templating.TemplateWriter RenderBreadcrumbNavigation(BreadcrumbNavigation settings) { 2038 #line default 2039 #line hidden 2040 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 2041 2042 #line 641 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2043 2044 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id; 2045 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template; 2046 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel; 2047 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel; 2048 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode; 2049 settings.SitemapMode = false; 2050 2051 2052 2053 #line default 2054 #line hidden 2055 2056 #line 649 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2057 WriteTo(__razor_helper_writer, RenderNavigation(settings)); 2058 2059 2060 #line default 2061 #line hidden 2062 2063 #line 649 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2064 2065 2066 2067 #line default 2068 #line hidden 2069 }); 2070 2071 #line 650 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2072 } 2073 #line default 2074 #line hidden 2075 2076 2077 #line 657 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2078 public RazorEngine.Templating.TemplateWriter RenderLeftNavigation(LeftNavigation settings) { 2079 #line default 2080 #line hidden 2081 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 2082 2083 #line 657 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2084 2085 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id; 2086 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template; 2087 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel; 2088 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel; 2089 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode; 2090 2091 2092 2093 #line default 2094 #line hidden 2095 WriteLiteralTo(__razor_helper_writer, " <div"); 2096 2097 WriteLiteralTo(__razor_helper_writer, " class=\"grid__cell\""); 2098 2099 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2100 2101 WriteLiteralTo(__razor_helper_writer, " "); 2102 2103 2104 #line 665 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2105 WriteTo(__razor_helper_writer, RenderNavigation(settings)); 2106 2107 2108 #line default 2109 #line hidden 2110 WriteLiteralTo(__razor_helper_writer, " \r\n </div> \r\n"); 2111 2112 2113 #line 667 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2114 2115 2116 #line default 2117 #line hidden 2118 }); 2119 2120 #line 667 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2121 } 2122 #line default 2123 #line hidden 2124 2125 2126 #line 674 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2127 public RazorEngine.Templating.TemplateWriter RenderHeading(Heading settings) 2128 { 2129 #line default 2130 #line hidden 2131 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 2132 2133 #line 675 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2134 2135 if (settings != null && !string.IsNullOrEmpty(settings.Title)) 2136 { 2137 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 2138 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div"; 2139 2140 2141 2142 #line default 2143 #line hidden 2144 2145 #line 681 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2146 WriteTo(__razor_helper_writer, "<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">"); 2147 2148 2149 #line default 2150 #line hidden 2151 2152 #line 681 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2153 2154 if (!string.IsNullOrEmpty(settings.Link)) 2155 { 2156 2157 2158 #line default 2159 #line hidden 2160 2161 #line 684 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2162 WriteTo(__razor_helper_writer, Render(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None })); 2163 2164 2165 #line default 2166 #line hidden 2167 2168 #line 684 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2169 2170 } 2171 else 2172 { 2173 if (settings.Icon == null) 2174 { 2175 settings.Icon = new Icon(); 2176 } 2177 settings.Icon.Label = settings.Title; 2178 2179 2180 #line default 2181 #line hidden 2182 2183 #line 693 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2184 WriteTo(__razor_helper_writer, Render(settings.Icon)); 2185 2186 2187 #line default 2188 #line hidden 2189 2190 #line 693 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2191 2192 } 2193 2194 2195 #line default 2196 #line hidden 2197 2198 #line 695 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2199 WriteTo(__razor_helper_writer, "</" + tagName + ">"); 2200 2201 2202 #line default 2203 #line hidden 2204 2205 #line 695 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2206 ; 2207 } 2208 2209 2210 #line default 2211 #line hidden 2212 }); 2213 2214 #line 697 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2215 } 2216 #line default 2217 #line hidden 2218 2219 2220 #line 705 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2221 public RazorEngine.Templating.TemplateWriter RenderImage(Image settings) 2222 { 2223 #line default 2224 #line hidden 2225 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 2226 2227 #line 706 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2228 2229 string target = !string.IsNullOrEmpty(settings.Link) && (settings.Link.StartsWith("http") || settings.Link.StartsWith("/Files")) ? "target='_blank'" : ""; 2230 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None) 2231 { 2232 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 2233 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); } 2234 2235 if (settings.Caption != null) 2236 { 2237 2238 2239 #line default 2240 #line hidden 2241 WriteLiteralTo(__razor_helper_writer, " "); 2242 2243 WriteLiteralTo(__razor_helper_writer, "<div>\r\n"); 2244 2245 2246 #line 716 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2247 } 2248 2249 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower(); 2250 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower(); 2251 2252 2253 2254 #line default 2255 #line hidden 2256 WriteLiteralTo(__razor_helper_writer, " <div"); 2257 2258 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 25165), Tuple.Create("\"", 25246) 2259 , Tuple.Create(Tuple.Create("", 25173), Tuple.Create("image-filter", 25173), true) 2260 , Tuple.Create(Tuple.Create(" ", 25185), Tuple.Create("image-filter--", 25186), true) 2261 2262 #line 721 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2263 , Tuple.Create(Tuple.Create("", 25200), Tuple.Create<System.Object, System.Int32>(primaryFilterClass 2264 2265 #line default 2266 #line hidden 2267 , 25200), false) 2268 , Tuple.Create(Tuple.Create(" ", 25219), Tuple.Create("u-position-relative", 25220), true) 2269 , Tuple.Create(Tuple.Create(" ", 25239), Tuple.Create("dw-mod", 25240), true) 2270 ); 2271 2272 WriteLiteralTo(__razor_helper_writer, " "); 2273 2274 2275 #line 721 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2276 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(optionalAttributes)); 2277 2278 2279 #line default 2280 #line hidden 2281 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 2282 2283 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 25318), Tuple.Create("\"", 25381) 2284 , Tuple.Create(Tuple.Create("", 25326), Tuple.Create("image-filter", 25326), true) 2285 , Tuple.Create(Tuple.Create(" ", 25338), Tuple.Create("image-filter--", 25339), true) 2286 2287 #line 722 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2288 , Tuple.Create(Tuple.Create("", 25353), Tuple.Create<System.Object, System.Int32>(secondaryFilterClass 2289 2290 #line default 2291 #line hidden 2292 , 25353), false) 2293 , Tuple.Create(Tuple.Create(" ", 25374), Tuple.Create("dw-mod", 25375), true) 2294 ); 2295 2296 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2297 2298 2299 #line 723 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2300 2301 2302 #line default 2303 #line hidden 2304 2305 #line 723 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2306 if (settings.Link != null) 2307 { 2308 2309 2310 #line default 2311 #line hidden 2312 WriteLiteralTo(__razor_helper_writer, " <a"); 2313 2314 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 25471), Tuple.Create("\"", 25492) 2315 2316 #line 725 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2317 , Tuple.Create(Tuple.Create("", 25478), Tuple.Create<System.Object, System.Int32>(settings.Link 2318 2319 #line default 2320 #line hidden 2321 , 25478), false) 2322 ); 2323 2324 WriteLiteralTo(__razor_helper_writer, " "); 2325 2326 2327 #line 725 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2328 WriteTo(__razor_helper_writer, target); 2329 2330 2331 #line default 2332 #line hidden 2333 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2334 2335 WriteLiteralTo(__razor_helper_writer, " "); 2336 2337 2338 #line 726 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2339 WriteTo(__razor_helper_writer, RenderTheImage(settings)); 2340 2341 2342 #line default 2343 #line hidden 2344 WriteLiteralTo(__razor_helper_writer, "\r\n </a>\r\n"); 2345 2346 2347 #line 728 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2348 } 2349 else 2350 { 2351 2352 2353 #line default 2354 #line hidden 2355 2356 #line 731 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2357 WriteTo(__razor_helper_writer, RenderTheImage(settings)); 2358 2359 2360 #line default 2361 #line hidden 2362 2363 #line 731 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2364 2365 } 2366 2367 2368 #line default 2369 #line hidden 2370 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </div>\r\n"); 2371 2372 2373 #line 735 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2374 2375 if (settings.Caption != null) 2376 { 2377 2378 2379 #line default 2380 #line hidden 2381 WriteLiteralTo(__razor_helper_writer, " <span"); 2382 2383 WriteLiteralTo(__razor_helper_writer, " class=\"image-caption dw-mod\""); 2384 2385 WriteLiteralTo(__razor_helper_writer, ">"); 2386 2387 2388 #line 738 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2389 WriteTo(__razor_helper_writer, settings.Caption); 2390 2391 2392 #line default 2393 #line hidden 2394 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 2395 2396 WriteLiteralTo(__razor_helper_writer, " "); 2397 2398 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 2399 2400 2401 #line 740 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2402 } 2403 } 2404 else 2405 { 2406 if (settings.Caption != null) 2407 { 2408 2409 2410 #line default 2411 #line hidden 2412 WriteLiteralTo(__razor_helper_writer, " "); 2413 2414 WriteLiteralTo(__razor_helper_writer, "<div>\r\n"); 2415 2416 2417 #line 747 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2418 } 2419 if (!string.IsNullOrEmpty(settings.Link)) 2420 { 2421 2422 2423 #line default 2424 #line hidden 2425 WriteLiteralTo(__razor_helper_writer, " <a"); 2426 2427 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 26084), Tuple.Create("\"", 26105) 2428 2429 #line 750 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2430 , Tuple.Create(Tuple.Create("", 26091), Tuple.Create<System.Object, System.Int32>(settings.Link 2431 2432 #line default 2433 #line hidden 2434 , 26091), false) 2435 ); 2436 2437 WriteLiteralTo(__razor_helper_writer, " "); 2438 2439 2440 #line 750 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2441 WriteTo(__razor_helper_writer, target); 2442 2443 2444 #line default 2445 #line hidden 2446 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2447 2448 WriteLiteralTo(__razor_helper_writer, " "); 2449 2450 2451 #line 751 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2452 WriteTo(__razor_helper_writer, RenderTheImage(settings)); 2453 2454 2455 #line default 2456 #line hidden 2457 WriteLiteralTo(__razor_helper_writer, "\r\n </a>\r\n"); 2458 2459 2460 #line 753 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2461 } 2462 else 2463 { 2464 2465 2466 #line default 2467 #line hidden 2468 2469 #line 756 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2470 WriteTo(__razor_helper_writer, RenderTheImage(settings)); 2471 2472 2473 #line default 2474 #line hidden 2475 2476 #line 756 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2477 2478 } 2479 2480 if (settings.Caption != null) 2481 { 2482 2483 2484 #line default 2485 #line hidden 2486 WriteLiteralTo(__razor_helper_writer, " <span"); 2487 2488 WriteLiteralTo(__razor_helper_writer, " class=\"image-caption dw-mod\""); 2489 2490 WriteLiteralTo(__razor_helper_writer, ">"); 2491 2492 2493 #line 761 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2494 WriteTo(__razor_helper_writer, settings.Caption); 2495 2496 2497 #line default 2498 #line hidden 2499 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 2500 2501 WriteLiteralTo(__razor_helper_writer, " "); 2502 2503 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 2504 2505 2506 #line 763 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2507 } 2508 } 2509 2510 2511 #line default 2512 #line hidden 2513 }); 2514 2515 #line 765 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2516 } 2517 #line default 2518 #line hidden 2519 2520 2521 #line 767 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2522 public RazorEngine.Templating.TemplateWriter RenderTheImage(Image settings) 2523 { 2524 #line default 2525 #line hidden 2526 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 2527 2528 #line 768 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2529 2530 if (settings != null) 2531 { 2532 string alternativeImage = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("Settings").GetString("AlternativeImage")) ? Pageview.AreaSettings.GetItem("Settings").GetFile("AlternativeImage").PathUrlEncoded : "/Images/missing_image.jpg"; 2533 string placeholderImage = "/Files/Images/placeholder.gif"; 2534 string imageEngine = "/Admin/Public/GetImage.ashx?"; 2535 2536 string imageStyle = ""; 2537 2538 switch (settings.Style) 2539 { 2540 case ImageStyle.Ball: 2541 imageStyle = "grid__cell-img--ball"; 2542 break; 2543 2544 case ImageStyle.Triangle: 2545 imageStyle = "grid__cell-img--triangle"; 2546 break; 2547 } 2548 2549 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle) 2550 { 2551 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop; 2552 2553 if (settings.ImageDefault != null) 2554 { 2555 settings.ImageDefault.Height = settings.ImageDefault.Width; 2556 } 2557 if (settings.ImageMedium != null) 2558 { 2559 settings.ImageMedium.Height = settings.ImageMedium.Width; 2560 } 2561 if (settings.ImageSmall != null) 2562 { 2563 settings.ImageSmall.Height = settings.ImageSmall.Width; 2564 } 2565 } 2566 2567 string defaultImage = imageEngine; 2568 string imageSmall = ""; 2569 string imageMedium = ""; 2570 2571 if (settings.DisableImageEngine) 2572 { 2573 defaultImage = settings.Path; 2574 2575 if (settings.ImageDefault != null) 2576 { 2577 placeholderImage = imageEngine + Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault) + "Image=" + placeholderImage; 2578 } 2579 } 2580 else 2581 { 2582 if (settings.ImageDefault != null) 2583 { 2584 if (settings.ImageDefault.Format == ImageFormat.Default) 2585 { 2586 settings.ImageDefault.Format = ImageFormat.WebP; 2587 } 2588 2589 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault); 2590 placeholderImage = imageEngine + Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault) + "Image=" + placeholderImage; 2591 2592 if (settings.Path.GetType() != typeof(string)) 2593 { 2594 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 2595 defaultImage += settings.Path != null && settings.Path.GetFocalPointParameters() != "" ? "&" + settings.Path.GetFocalPointParameters() : ""; 2596 } 2597 else 2598 { 2599 defaultImage += settings.Path != null ? "Image=" + settings.Path : ""; 2600 } 2601 2602 defaultImage += "&AlternativeImage=" + alternativeImage; 2603 } 2604 2605 if (settings.ImageSmall != null) 2606 { 2607 if (settings.ImageSmall.Format == ImageFormat.Default) 2608 { 2609 settings.ImageSmall.Format = ImageFormat.WebP; 2610 } 2611 2612 imageSmall = "data-src-small=\"" + imageEngine; 2613 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall); 2614 2615 if (settings.Path.GetType() != typeof(string)) 2616 { 2617 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 2618 imageSmall += settings.Path != null && settings.Path.GetFocalPointParameters() != "" ? "&" + settings.Path.GetFocalPointParameters() : ""; 2619 } 2620 else 2621 { 2622 imageSmall += settings.Path != null ? "Image=" + settings.Path : ""; 2623 } 2624 2625 imageSmall += "&alternativeImage=" + alternativeImage; 2626 2627 imageSmall += "\""; 2628 } 2629 2630 if (settings.ImageMedium != null) 2631 { 2632 if (settings.ImageMedium.Format == ImageFormat.Default) 2633 { 2634 settings.ImageMedium.Format = ImageFormat.WebP; 2635 } 2636 2637 imageMedium = "data-src-medium=\"" + imageEngine; 2638 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium); 2639 2640 if (settings.Path.GetType() != typeof(string)) 2641 { 2642 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 2643 imageMedium += settings.Path != null && settings.Path.GetFocalPointParameters() != "" ? "&" + settings.Path.GetFocalPointParameters() : ""; 2644 } 2645 else 2646 { 2647 imageMedium += settings.Path != null ? "Image=" + settings.Path : ""; 2648 } 2649 2650 imageMedium += "&alternativeImage=" + alternativeImage; 2651 2652 imageMedium += "\""; 2653 } 2654 } 2655 2656 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 2657 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); } 2658 if (!string.IsNullOrEmpty(settings.Title)) 2659 { 2660 optionalAttributes.Add("alt", settings.Title); 2661 } 2662 else 2663 { 2664 optionalAttributes.Add("alt", ""); 2665 } 2666 2667 var height = ""; 2668 var width = ""; 2669 2670 if (settings.ImageDefault?.Width > 0) 2671 { 2672 width = $"width='{settings.ImageDefault.Width}'"; 2673 } 2674 2675 if (settings.ImageDefault?.Height > 0) 2676 { 2677 height = $"height='{settings.ImageDefault.Height}'"; 2678 } 2679 2680 if (settings.DisableLazyLoad) 2681 { 2682 2683 2684 #line default 2685 #line hidden 2686 WriteLiteralTo(__razor_helper_writer, " <img "); 2687 2688 2689 #line 921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2690 WriteTo(__razor_helper_writer, height); 2691 2692 2693 #line default 2694 #line hidden 2695 WriteLiteralTo(__razor_helper_writer, " "); 2696 2697 2698 #line 921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2699 WriteTo(__razor_helper_writer, width); 2700 2701 2702 #line default 2703 #line hidden 2704 WriteLiteralTo(__razor_helper_writer, " id=\""); 2705 2706 2707 #line 921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2708 WriteTo(__razor_helper_writer, settings.Id); 2709 2710 2711 #line default 2712 #line hidden 2713 WriteLiteralTo(__razor_helper_writer, "\" class=\""); 2714 2715 2716 #line 921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2717 WriteTo(__razor_helper_writer, imageStyle); 2718 2719 2720 #line default 2721 #line hidden 2722 WriteLiteralTo(__razor_helper_writer, " "); 2723 2724 2725 #line 921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2726 WriteTo(__razor_helper_writer, settings.CssClass); 2727 2728 2729 #line default 2730 #line hidden 2731 WriteLiteralTo(__razor_helper_writer, " dw-mod\" src=\""); 2732 2733 2734 #line 921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2735 WriteTo(__razor_helper_writer, defaultImage); 2736 2737 2738 #line default 2739 #line hidden 2740 WriteLiteralTo(__razor_helper_writer, "\" "); 2741 2742 2743 #line 921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2744 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(optionalAttributes)); 2745 2746 2747 #line default 2748 #line hidden 2749 WriteLiteralTo(__razor_helper_writer, " "); 2750 2751 2752 #line 921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2753 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 2754 2755 2756 #line default 2757 #line hidden 2758 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 2759 2760 2761 #line 922 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2762 } 2763 else 2764 { 2765 2766 2767 #line default 2768 #line hidden 2769 WriteLiteralTo(__razor_helper_writer, " <img "); 2770 2771 2772 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2773 WriteTo(__razor_helper_writer, height); 2774 2775 2776 #line default 2777 #line hidden 2778 WriteLiteralTo(__razor_helper_writer, " "); 2779 2780 2781 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2782 WriteTo(__razor_helper_writer, width); 2783 2784 2785 #line default 2786 #line hidden 2787 WriteLiteralTo(__razor_helper_writer, " id=\""); 2788 2789 2790 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2791 WriteTo(__razor_helper_writer, settings.Id); 2792 2793 2794 #line default 2795 #line hidden 2796 WriteLiteralTo(__razor_helper_writer, "\" class=\"b-lazy "); 2797 2798 2799 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2800 WriteTo(__razor_helper_writer, imageStyle); 2801 2802 2803 #line default 2804 #line hidden 2805 WriteLiteralTo(__razor_helper_writer, " "); 2806 2807 2808 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2809 WriteTo(__razor_helper_writer, settings.CssClass); 2810 2811 2812 #line default 2813 #line hidden 2814 WriteLiteralTo(__razor_helper_writer, " dw-mod\" src=\""); 2815 2816 2817 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2818 WriteTo(__razor_helper_writer, placeholderImage); 2819 2820 2821 #line default 2822 #line hidden 2823 WriteLiteralTo(__razor_helper_writer, "\" data-src=\""); 2824 2825 2826 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2827 WriteTo(__razor_helper_writer, defaultImage); 2828 2829 2830 #line default 2831 #line hidden 2832 WriteLiteralTo(__razor_helper_writer, "\" "); 2833 2834 2835 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2836 WriteTo(__razor_helper_writer, imageSmall); 2837 2838 2839 #line default 2840 #line hidden 2841 WriteLiteralTo(__razor_helper_writer, " "); 2842 2843 2844 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2845 WriteTo(__razor_helper_writer, imageMedium); 2846 2847 2848 #line default 2849 #line hidden 2850 WriteLiteralTo(__razor_helper_writer, " "); 2851 2852 2853 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2854 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(optionalAttributes)); 2855 2856 2857 #line default 2858 #line hidden 2859 WriteLiteralTo(__razor_helper_writer, " "); 2860 2861 2862 #line 925 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2863 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 2864 2865 2866 #line default 2867 #line hidden 2868 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 2869 2870 2871 #line 926 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2872 } 2873 } 2874 2875 2876 #line default 2877 #line hidden 2878 }); 2879 2880 #line 928 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2881 } 2882 #line default 2883 #line hidden 2884 2885 2886 #line 935 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2887 public RazorEngine.Templating.TemplateWriter RenderFileField(FileField settings) 2888 { 2889 #line default 2890 #line hidden 2891 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 2892 2893 #line 936 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2894 2895 var attributes = new Dictionary<string, string>(); 2896 if (string.IsNullOrEmpty(settings.Id)) 2897 { 2898 settings.Id = Guid.NewGuid().ToString("N"); 2899 } 2900 2901 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 2902 if (settings.Disabled) { attributes.Add("disabled", "true"); } 2903 if (settings.Required) { attributes.Add("required", "true"); } 2904 if (settings.Multiple) { attributes.Add("multiple", "true"); } 2905 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 2906 if (string.IsNullOrEmpty(settings.ChooseFileText)) 2907 { 2908 settings.ChooseFileText = Translate("Choose file"); 2909 } 2910 if (string.IsNullOrEmpty(settings.NoFilesChosenText)) 2911 { 2912 settings.NoFilesChosenText = Translate("No files chosen..."); 2913 } 2914 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 2915 2916 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 2917 2918 string setValueToFakeInput = "FileUpload.setValueToFakeInput(this)"; 2919 attributes.Add("onchange", setValueToFakeInput + (!string.IsNullOrEmpty(settings.OnChange) ? settings.OnChange : "")); 2920 2921 attributes.Add("type", "file"); 2922 if (settings.Value != null) { attributes.Add("value", settings.Value); } 2923 settings.CssClass = "u-full-width " + settings.CssClass; 2924 2925 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 2926 2927 2928 2929 #line default 2930 #line hidden 2931 WriteLiteralTo(__razor_helper_writer, " <div"); 2932 2933 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 35020), Tuple.Create("\"", 35091) 2934 , Tuple.Create(Tuple.Create("", 35028), Tuple.Create("form__field-group", 35028), true) 2935 , Tuple.Create(Tuple.Create(" ", 35045), Tuple.Create("u-full-width", 35046), true) 2936 2937 #line 969 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2938 , Tuple.Create(Tuple.Create(" ", 35058), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 2939 2940 #line default 2941 #line hidden 2942 , 35059), false) 2943 , Tuple.Create(Tuple.Create(" ", 35084), Tuple.Create("dw-mod", 35085), true) 2944 ); 2945 2946 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 2947 2948 2949 #line 970 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2950 2951 2952 #line default 2953 #line hidden 2954 2955 #line 970 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2956 if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 2957 { 2958 2959 2960 #line default 2961 #line hidden 2962 WriteLiteralTo(__razor_helper_writer, " <div"); 2963 2964 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width\""); 2965 2966 WriteLiteralTo(__razor_helper_writer, "> \r\n"); 2967 2968 2969 #line 973 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2970 2971 2972 #line default 2973 #line hidden 2974 2975 #line 973 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2976 if (!string.IsNullOrEmpty(settings.Label)) { 2977 2978 #line default 2979 #line hidden 2980 WriteLiteralTo(__razor_helper_writer, " <label"); 2981 2982 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 35294), Tuple.Create("\"", 35312) 2983 2984 #line 973 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2985 , Tuple.Create(Tuple.Create("", 35300), Tuple.Create<System.Object, System.Int32>(settings.Id 2986 2987 #line default 2988 #line hidden 2989 , 35300), false) 2990 ); 2991 2992 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left\""); 2993 2994 WriteLiteralTo(__razor_helper_writer, ">"); 2995 2996 2997 #line 973 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 2998 WriteTo(__razor_helper_writer, settings.Label); 2999 3000 3001 #line default 3002 #line hidden 3003 WriteLiteralTo(__razor_helper_writer, "</label> "); 3004 3005 3006 #line 973 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3007 } 3008 3009 3010 #line default 3011 #line hidden 3012 WriteLiteralTo(__razor_helper_writer, " "); 3013 3014 3015 #line 974 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3016 if (settings.Link != null) { 3017 3018 3019 #line default 3020 #line hidden 3021 WriteLiteralTo(__razor_helper_writer, " <div"); 3022 3023 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--right\""); 3024 3025 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 3026 3027 3028 #line 976 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3029 3030 3031 #line default 3032 #line hidden 3033 3034 #line 976 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3035 settings.Link.ButtonLayout = ButtonLayout.LinkClean; 3036 3037 #line default 3038 #line hidden 3039 WriteLiteralTo(__razor_helper_writer, "\r\n"); 3040 3041 WriteLiteralTo(__razor_helper_writer, " "); 3042 3043 3044 #line 977 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3045 WriteTo(__razor_helper_writer, Render(settings.Link)); 3046 3047 3048 #line default 3049 #line hidden 3050 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 3051 3052 3053 #line 979 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3054 } 3055 3056 3057 #line default 3058 #line hidden 3059 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 3060 3061 3062 #line 981 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3063 3064 } 3065 3066 3067 #line default 3068 #line hidden 3069 WriteLiteralTo(__razor_helper_writer, "\r\n"); 3070 3071 3072 #line 984 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3073 3074 3075 #line default 3076 #line hidden 3077 3078 #line 984 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3079 if (!string.IsNullOrEmpty(settings.HelpText)) 3080 { 3081 3082 3083 #line default 3084 #line hidden 3085 WriteLiteralTo(__razor_helper_writer, " <small"); 3086 3087 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text\""); 3088 3089 WriteLiteralTo(__razor_helper_writer, ">"); 3090 3091 3092 #line 986 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3093 WriteTo(__razor_helper_writer, settings.HelpText); 3094 3095 3096 #line default 3097 #line hidden 3098 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 3099 3100 3101 #line 987 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3102 } 3103 3104 3105 #line default 3106 #line hidden 3107 WriteLiteralTo(__razor_helper_writer, "\r\n <div"); 3108 3109 WriteLiteralTo(__razor_helper_writer, " class=\"form__field-combi file-input u-no-margin dw-mod\""); 3110 3111 WriteLiteralTo(__razor_helper_writer, ">\r\n <input "); 3112 3113 3114 #line 990 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3115 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 3116 3117 3118 #line default 3119 #line hidden 3120 WriteLiteralTo(__razor_helper_writer, " class=\"file-input__real-input u-visually-hidden hidden-required-input\" data-no-f" + 3121 "iles-text=\""); 3122 3123 3124 #line 990 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3125 WriteTo(__razor_helper_writer, settings.NoFilesChosenText); 3126 3127 3128 #line default 3129 #line hidden 3130 WriteLiteralTo(__razor_helper_writer, "\" data-many-files-text=\""); 3131 3132 3133 #line 990 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3134 WriteTo(__razor_helper_writer, Translate("files")); 3135 3136 3137 #line default 3138 #line hidden 3139 WriteLiteralTo(__razor_helper_writer, "\" />\r\n <label"); 3140 3141 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 36159), Tuple.Create("\"", 36177) 3142 3143 #line 991 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3144 , Tuple.Create(Tuple.Create("", 36165), Tuple.Create<System.Object, System.Int32>(settings.Id 3145 3146 #line default 3147 #line hidden 3148 , 36165), false) 3149 ); 3150 3151 WriteLiteralTo(__razor_helper_writer, " class=\"file-input__btn btn--secondary btn dw-mod\""); 3152 3153 WriteLiteralTo(__razor_helper_writer, ">"); 3154 3155 3156 #line 991 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3157 WriteTo(__razor_helper_writer, settings.ChooseFileText); 3158 3159 3160 #line default 3161 #line hidden 3162 WriteLiteralTo(__razor_helper_writer, "</label>\r\n <label"); 3163 3164 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 36281), Tuple.Create("\"", 36299) 3165 3166 #line 992 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3167 , Tuple.Create(Tuple.Create("", 36287), Tuple.Create<System.Object, System.Int32>(settings.Id 3168 3169 #line default 3170 #line hidden 3171 , 36287), false) 3172 ); 3173 3174 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 36300), Tuple.Create("\"", 36370) 3175 3176 #line 992 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3177 , Tuple.Create(Tuple.Create("", 36308), Tuple.Create<System.Object, System.Int32>(settings.CssClass 3178 3179 #line default 3180 #line hidden 3181 , 36308), false) 3182 , Tuple.Create(Tuple.Create(" ", 36326), Tuple.Create("file-input__fake-input", 36327), true) 3183 , Tuple.Create(Tuple.Create(" ", 36349), Tuple.Create("js-fake-input", 36350), true) 3184 , Tuple.Create(Tuple.Create(" ", 36363), Tuple.Create("dw-mod", 36364), true) 3185 ); 3186 3187 WriteLiteralTo(__razor_helper_writer, ">"); 3188 3189 3190 #line 992 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3191 WriteTo(__razor_helper_writer, settings.NoFilesChosenText); 3192 3193 3194 #line default 3195 #line hidden 3196 WriteLiteralTo(__razor_helper_writer, "</label>\r\n"); 3197 3198 3199 #line 993 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3200 3201 3202 #line default 3203 #line hidden 3204 3205 #line 993 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3206 if (settings.UploadButton != null) 3207 { 3208 settings.UploadButton.CssClass += " btn--condensed u-no-margin"; 3209 3210 3211 #line default 3212 #line hidden 3213 3214 #line 996 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3215 WriteTo(__razor_helper_writer, Render(settings.UploadButton)); 3216 3217 3218 #line default 3219 #line hidden 3220 3221 #line 996 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3222 3223 } 3224 3225 3226 #line default 3227 #line hidden 3228 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 3229 3230 WriteLiteralTo(__razor_helper_writer, " "); 3231 3232 3233 #line 999 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3234 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 3235 3236 3237 #line default 3238 #line hidden 3239 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 3240 3241 3242 #line 1001 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3243 3244 3245 #line default 3246 #line hidden 3247 }); 3248 3249 #line 1001 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3250 } 3251 #line default 3252 #line hidden 3253 3254 3255 #line 1010 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3256 public RazorEngine.Templating.TemplateWriter RenderDateTimeField(DateTimeField settings) 3257 { 3258 #line default 3259 #line hidden 3260 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 3261 3262 #line 1011 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3263 3264 if (string.IsNullOrEmpty(settings.Id)) 3265 { 3266 settings.Id = Guid.NewGuid().ToString("N"); 3267 } 3268 3269 var textField = new TextField { 3270 Name = settings.Name, 3271 Id = settings.Id, 3272 Label = settings.Label, 3273 HelpText = settings.HelpText, 3274 Value = settings.Value, 3275 Disabled = settings.Disabled, 3276 Required = settings.Required, 3277 ErrorMessage = settings.ErrorMessage, 3278 CssClass = settings.CssClass, 3279 WrapperCssClass = settings.WrapperCssClass, 3280 OnChange = settings.OnChange, 3281 OnClick = settings.OnClick, 3282 Link = settings.Link, 3283 ExtraAttributes = settings.ExtraAttributes, 3284 // 3285 Placeholder = settings.Placeholder 3286 }; 3287 3288 3289 3290 #line default 3291 #line hidden 3292 3293 #line 1036 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3294 WriteTo(__razor_helper_writer, Render(textField)); 3295 3296 3297 #line default 3298 #line hidden 3299 3300 #line 1036 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3301 3302 3303 List<string> jsAttributes = new List<string>(); 3304 3305 jsAttributes.Add("mode: '" + Enum.GetName(typeof(DateTimeFieldMode), settings.Mode).ToLower() + "'"); 3306 3307 if (!string.IsNullOrEmpty(settings.DateFormat)) 3308 { 3309 jsAttributes.Add("dateFormat: '" + settings.DateFormat + "'"); 3310 } 3311 if (!string.IsNullOrEmpty(settings.MinDate)) 3312 { 3313 jsAttributes.Add("minDate: '" + settings.MinDate + "'"); 3314 } 3315 if (!string.IsNullOrEmpty(settings.MaxDate)) 3316 { 3317 jsAttributes.Add("maxDate: '" + settings.MaxDate + "'"); 3318 } 3319 if (settings.IsInline) 3320 { 3321 jsAttributes.Add("inline: " + Converter.ToString(settings.IsInline).ToLower()); 3322 } 3323 if (settings.EnableTime) 3324 { 3325 jsAttributes.Add("enableTime: " + Converter.ToString(settings.EnableTime).ToLower()); 3326 } 3327 if (settings.EnableWeekNumbers) 3328 { 3329 jsAttributes.Add("weekNumbers: " + Converter.ToString(settings.EnableWeekNumbers).ToLower()); 3330 } 3331 3332 jsAttributes.AddRange(settings.GetFlatPickrOptions().Select(x => x.Key + ": " + x.Value)); 3333 3334 3335 3336 #line default 3337 #line hidden 3338 WriteLiteralTo(__razor_helper_writer, " <script>\r\n document.addEventListener(\"DOMContentLoaded\", function () {" + 3339 "\r\n flatpickr(\"#"); 3340 3341 3342 #line 1071 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3343 WriteTo(__razor_helper_writer, textField.Id); 3344 3345 3346 #line default 3347 #line hidden 3348 WriteLiteralTo(__razor_helper_writer, "\", {\r\n"); 3349 3350 WriteLiteralTo(__razor_helper_writer, " "); 3351 3352 3353 #line 1072 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3354 WriteTo(__razor_helper_writer, string.Join(",", jsAttributes)); 3355 3356 3357 #line default 3358 #line hidden 3359 WriteLiteralTo(__razor_helper_writer, "\r\n });\r\n });\r\n </script>\r\n"); 3360 3361 3362 #line 1076 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3363 3364 3365 #line default 3366 #line hidden 3367 }); 3368 3369 #line 1076 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3370 } 3371 #line default 3372 #line hidden 3373 3374 3375 #line 1083 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3376 public RazorEngine.Templating.TemplateWriter RenderTextField(TextField settings) 3377 { 3378 #line default 3379 #line hidden 3380 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 3381 3382 #line 1084 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3383 3384 var attributes = new Dictionary<string, string>(); 3385 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 3386 { 3387 settings.Id = Guid.NewGuid().ToString("N"); 3388 } 3389 3390 /*base settings*/ 3391 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 3392 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 3393 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 3394 if (settings.Disabled) { attributes.Add("disabled", "true"); } 3395 if (settings.Required) { attributes.Add("required", "true"); } 3396 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 3397 /*end*/ 3398 3399 if (!string.IsNullOrEmpty(settings.OnKeyUp)) { attributes.Add("onkeyup", settings.OnKeyUp); } 3400 if (!string.IsNullOrEmpty(settings.OnInput)) { attributes.Add("oninput", settings.OnInput); } 3401 if (!string.IsNullOrEmpty(settings.OnFocus)) { attributes.Add("onfocus", settings.OnFocus); } 3402 if (settings.ReadOnly) { attributes.Add("readonly", "true"); } 3403 if (settings.MaxLength != 0) { attributes.Add("maxlength", settings.MaxLength.ToString()); } 3404 if (!string.IsNullOrEmpty(settings.Placeholder)) { attributes.Add("placeholder", settings.Placeholder); } 3405 attributes.Add("type", Enum.GetName(typeof(TextFieldType), settings.Type).ToLower()); 3406 if (settings.Type == TextFieldType.Password) { attributes.Add("autocomplete", "off"); }; 3407 if (settings.Value != null) { attributes.Add("value", settings.Value); } 3408 3409 settings.CssClass = "u-full-width " + settings.CssClass; 3410 3411 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 3412 3413 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 3414 3415 string noMargin = "u-no-margin"; 3416 if (!settings.ReadOnly) { 3417 noMargin = ""; 3418 } 3419 3420 3421 3422 #line default 3423 #line hidden 3424 WriteLiteralTo(__razor_helper_writer, " <div"); 3425 3426 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 41315), Tuple.Create("\"", 41396) 3427 , Tuple.Create(Tuple.Create("", 41323), Tuple.Create("form__field-group", 41323), true) 3428 , Tuple.Create(Tuple.Create(" ", 41340), Tuple.Create("u-full-width", 41341), true) 3429 3430 #line 1121 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3431 , Tuple.Create(Tuple.Create(" ", 41353), Tuple.Create<System.Object, System.Int32>(noMargin 3432 3433 #line default 3434 #line hidden 3435 , 41354), false) 3436 3437 #line 1121 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3438 , Tuple.Create(Tuple.Create(" ", 41363), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 3439 3440 #line default 3441 #line hidden 3442 , 41364), false) 3443 , Tuple.Create(Tuple.Create(" ", 41389), Tuple.Create("dw-mod", 41390), true) 3444 ); 3445 3446 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 3447 3448 3449 #line 1122 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3450 3451 3452 #line default 3453 #line hidden 3454 3455 #line 1122 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3456 if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 3457 { 3458 3459 3460 #line default 3461 #line hidden 3462 WriteLiteralTo(__razor_helper_writer, " <div"); 3463 3464 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width\""); 3465 3466 WriteLiteralTo(__razor_helper_writer, "> \r\n"); 3467 3468 3469 #line 1125 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3470 3471 3472 #line default 3473 #line hidden 3474 3475 #line 1125 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3476 if (!string.IsNullOrEmpty(settings.Label)) { 3477 3478 #line default 3479 #line hidden 3480 WriteLiteralTo(__razor_helper_writer, " <label"); 3481 3482 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 41599), Tuple.Create("\"", 41617) 3483 3484 #line 1125 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3485 , Tuple.Create(Tuple.Create("", 41605), Tuple.Create<System.Object, System.Int32>(settings.Id 3486 3487 #line default 3488 #line hidden 3489 , 41605), false) 3490 ); 3491 3492 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left\""); 3493 3494 WriteLiteralTo(__razor_helper_writer, ">"); 3495 3496 3497 #line 1125 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3498 WriteTo(__razor_helper_writer, settings.Label); 3499 3500 3501 #line default 3502 #line hidden 3503 WriteLiteralTo(__razor_helper_writer, "</label> "); 3504 3505 3506 #line 1125 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3507 } 3508 3509 3510 #line default 3511 #line hidden 3512 WriteLiteralTo(__razor_helper_writer, " "); 3513 3514 3515 #line 1126 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3516 if (settings.Link != null) { 3517 3518 3519 #line default 3520 #line hidden 3521 WriteLiteralTo(__razor_helper_writer, " <div"); 3522 3523 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--right\""); 3524 3525 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 3526 3527 WriteLiteralTo(__razor_helper_writer, " "); 3528 3529 3530 #line 1128 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3531 WriteTo(__razor_helper_writer, Render(settings.Link)); 3532 3533 3534 #line default 3535 #line hidden 3536 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 3537 3538 3539 #line 1130 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3540 } 3541 3542 3543 #line default 3544 #line hidden 3545 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 3546 3547 3548 #line 1132 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3549 3550 } 3551 3552 3553 #line default 3554 #line hidden 3555 WriteLiteralTo(__razor_helper_writer, "\r\n"); 3556 3557 3558 #line 1135 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3559 3560 3561 #line default 3562 #line hidden 3563 3564 #line 1135 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3565 if (!string.IsNullOrEmpty(settings.HelpText)) 3566 { 3567 3568 3569 #line default 3570 #line hidden 3571 WriteLiteralTo(__razor_helper_writer, " <small"); 3572 3573 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text\""); 3574 3575 WriteLiteralTo(__razor_helper_writer, ">"); 3576 3577 3578 #line 1137 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3579 WriteTo(__razor_helper_writer, settings.HelpText); 3580 3581 3582 #line default 3583 #line hidden 3584 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 3585 3586 3587 #line 1138 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3588 } 3589 3590 3591 #line default 3592 #line hidden 3593 WriteLiteralTo(__razor_helper_writer, "\r\n"); 3594 3595 3596 #line 1140 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3597 3598 3599 #line default 3600 #line hidden 3601 3602 #line 1140 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3603 if (settings.ActionButton != null) 3604 { 3605 settings.ActionButton.CssClass += " btn--condensed u-no-margin"; 3606 3607 3608 #line default 3609 #line hidden 3610 WriteLiteralTo(__razor_helper_writer, " <div"); 3611 3612 WriteLiteralTo(__razor_helper_writer, " class=\"form__field-combi u-no-margin dw-mod\""); 3613 3614 WriteLiteralTo(__razor_helper_writer, ">\r\n <input "); 3615 3616 3617 #line 1144 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3618 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 3619 3620 3621 #line default 3622 #line hidden 3623 WriteLiteralTo(__razor_helper_writer, " class=\""); 3624 3625 3626 #line 1144 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3627 WriteTo(__razor_helper_writer, settings.CssClass); 3628 3629 3630 #line default 3631 #line hidden 3632 WriteLiteralTo(__razor_helper_writer, " dw-mod\" />\r\n"); 3633 3634 WriteLiteralTo(__razor_helper_writer, " "); 3635 3636 3637 #line 1145 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3638 WriteTo(__razor_helper_writer, Render(settings.ActionButton)); 3639 3640 3641 #line default 3642 #line hidden 3643 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 3644 3645 3646 #line 1147 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3647 } 3648 else 3649 { 3650 3651 3652 #line default 3653 #line hidden 3654 WriteLiteralTo(__razor_helper_writer, " <input "); 3655 3656 3657 #line 1150 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3658 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 3659 3660 3661 #line default 3662 #line hidden 3663 WriteLiteralTo(__razor_helper_writer, " class=\""); 3664 3665 3666 #line 1150 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3667 WriteTo(__razor_helper_writer, settings.CssClass); 3668 3669 3670 #line default 3671 #line hidden 3672 WriteLiteralTo(__razor_helper_writer, " dw-mod\" />\r\n"); 3673 3674 3675 #line 1151 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3676 } 3677 3678 3679 #line default 3680 #line hidden 3681 WriteLiteralTo(__razor_helper_writer, "\r\n"); 3682 3683 WriteLiteralTo(__razor_helper_writer, " "); 3684 3685 3686 #line 1153 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3687 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 3688 3689 3690 #line default 3691 #line hidden 3692 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 3693 3694 3695 #line 1155 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3696 3697 3698 #line default 3699 #line hidden 3700 }); 3701 3702 #line 1155 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3703 } 3704 #line default 3705 #line hidden 3706 3707 3708 #line 1162 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3709 public RazorEngine.Templating.TemplateWriter RenderNumberField(NumberField settings) 3710 { 3711 #line default 3712 #line hidden 3713 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 3714 3715 #line 1163 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3716 3717 var attributes = new Dictionary<string, string>(); 3718 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 3719 { 3720 settings.Id = Guid.NewGuid().ToString("N"); 3721 } 3722 3723 /*base settings*/ 3724 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 3725 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 3726 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 3727 if (settings.Disabled) { attributes.Add("disabled", "true"); } 3728 if (settings.Required) { attributes.Add("required", "true"); } 3729 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 3730 /*end*/ 3731 3732 if (!string.IsNullOrEmpty(settings.OnKeyUp)) { attributes.Add("onkeyup", settings.OnKeyUp); } 3733 if (!string.IsNullOrEmpty(settings.OnInput)) { attributes.Add("oninput", settings.OnInput); } 3734 if (!string.IsNullOrEmpty(settings.OnFocus)) { attributes.Add("onfocus", settings.OnFocus); } 3735 if (settings.ReadOnly) { attributes.Add("readonly", "true"); } 3736 if (settings.Max != null) { attributes.Add("max", settings.Max.ToString()); } 3737 if (settings.Min != null) { attributes.Add("min", settings.Min.ToString()); } 3738 if (settings.Step != 0) { attributes.Add("step", settings.Step.ToString()); } 3739 if (settings.Value != null && !string.IsNullOrEmpty(settings.Value.ToString())) { attributes.Add("value", settings.Value.ToString()); } 3740 attributes.Add("type", "number"); 3741 3742 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 3743 3744 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 3745 3746 3747 #line default 3748 #line hidden 3749 WriteLiteralTo(__razor_helper_writer, " <div"); 3750 3751 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 44719), Tuple.Create("\"", 44790) 3752 , Tuple.Create(Tuple.Create("", 44727), Tuple.Create("form__field-group", 44727), true) 3753 , Tuple.Create(Tuple.Create(" ", 44744), Tuple.Create("u-full-width", 44745), true) 3754 3755 #line 1192 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3756 , Tuple.Create(Tuple.Create(" ", 44757), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 3757 3758 #line default 3759 #line hidden 3760 , 44758), false) 3761 , Tuple.Create(Tuple.Create(" ", 44783), Tuple.Create("dw-mod", 44784), true) 3762 ); 3763 3764 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 3765 3766 3767 #line 1193 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3768 3769 3770 #line default 3771 #line hidden 3772 3773 #line 1193 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3774 if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 3775 { 3776 3777 3778 #line default 3779 #line hidden 3780 WriteLiteralTo(__razor_helper_writer, " <div"); 3781 3782 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width\""); 3783 3784 WriteLiteralTo(__razor_helper_writer, "> \r\n"); 3785 3786 3787 #line 1196 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3788 3789 3790 #line default 3791 #line hidden 3792 3793 #line 1196 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3794 if (!string.IsNullOrEmpty(settings.Label)) { 3795 3796 #line default 3797 #line hidden 3798 WriteLiteralTo(__razor_helper_writer, " <label"); 3799 3800 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 44993), Tuple.Create("\"", 45011) 3801 3802 #line 1196 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3803 , Tuple.Create(Tuple.Create("", 44999), Tuple.Create<System.Object, System.Int32>(settings.Id 3804 3805 #line default 3806 #line hidden 3807 , 44999), false) 3808 ); 3809 3810 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left\""); 3811 3812 WriteLiteralTo(__razor_helper_writer, ">"); 3813 3814 3815 #line 1196 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3816 WriteTo(__razor_helper_writer, settings.Label); 3817 3818 3819 #line default 3820 #line hidden 3821 WriteLiteralTo(__razor_helper_writer, "</label> "); 3822 3823 3824 #line 1196 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3825 } 3826 3827 3828 #line default 3829 #line hidden 3830 WriteLiteralTo(__razor_helper_writer, " "); 3831 3832 3833 #line 1197 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3834 if (settings.Link != null) { 3835 3836 3837 #line default 3838 #line hidden 3839 WriteLiteralTo(__razor_helper_writer, " <div"); 3840 3841 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--right\""); 3842 3843 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 3844 3845 3846 #line 1199 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3847 3848 3849 #line default 3850 #line hidden 3851 3852 #line 1199 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3853 settings.Link.ButtonLayout = ButtonLayout.LinkClean; 3854 3855 #line default 3856 #line hidden 3857 WriteLiteralTo(__razor_helper_writer, "\r\n"); 3858 3859 WriteLiteralTo(__razor_helper_writer, " "); 3860 3861 3862 #line 1200 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3863 WriteTo(__razor_helper_writer, Render(settings.Link)); 3864 3865 3866 #line default 3867 #line hidden 3868 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 3869 3870 3871 #line 1202 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3872 } 3873 3874 3875 #line default 3876 #line hidden 3877 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 3878 3879 3880 #line 1204 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3881 3882 } 3883 3884 3885 #line default 3886 #line hidden 3887 WriteLiteralTo(__razor_helper_writer, "\r\n"); 3888 3889 3890 #line 1207 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3891 3892 3893 #line default 3894 #line hidden 3895 3896 #line 1207 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3897 if (!string.IsNullOrEmpty(settings.HelpText)) 3898 { 3899 3900 3901 #line default 3902 #line hidden 3903 WriteLiteralTo(__razor_helper_writer, " <small"); 3904 3905 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text\""); 3906 3907 WriteLiteralTo(__razor_helper_writer, ">"); 3908 3909 3910 #line 1209 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3911 WriteTo(__razor_helper_writer, settings.HelpText); 3912 3913 3914 #line default 3915 #line hidden 3916 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 3917 3918 3919 #line 1210 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3920 } 3921 3922 3923 #line default 3924 #line hidden 3925 WriteLiteralTo(__razor_helper_writer, "\r\n"); 3926 3927 3928 #line 1212 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3929 3930 3931 #line default 3932 #line hidden 3933 3934 #line 1212 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3935 if (settings.ActionButton != null) 3936 { 3937 settings.ActionButton.CssClass += " btn--condensed u-no-margin"; 3938 3939 3940 #line default 3941 #line hidden 3942 WriteLiteralTo(__razor_helper_writer, " <div"); 3943 3944 WriteLiteralTo(__razor_helper_writer, " class=\"form__field-combi u-no-margin dw-mod\""); 3945 3946 WriteLiteralTo(__razor_helper_writer, ">\r\n <input "); 3947 3948 3949 #line 1216 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3950 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 3951 3952 3953 #line default 3954 #line hidden 3955 WriteLiteralTo(__razor_helper_writer, " class=\""); 3956 3957 3958 #line 1216 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3959 WriteTo(__razor_helper_writer, settings.CssClass); 3960 3961 3962 #line default 3963 #line hidden 3964 WriteLiteralTo(__razor_helper_writer, " dw-mod\" />\r\n"); 3965 3966 WriteLiteralTo(__razor_helper_writer, " "); 3967 3968 3969 #line 1217 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3970 WriteTo(__razor_helper_writer, Render(settings.ActionButton)); 3971 3972 3973 #line default 3974 #line hidden 3975 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 3976 3977 3978 #line 1219 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3979 } 3980 else 3981 { 3982 3983 3984 #line default 3985 #line hidden 3986 WriteLiteralTo(__razor_helper_writer, " <div"); 3987 3988 WriteLiteralTo(__razor_helper_writer, " class=\"form__field-combi u-no-margin dw-mod\""); 3989 3990 WriteLiteralTo(__razor_helper_writer, ">\r\n <input "); 3991 3992 3993 #line 1223 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 3994 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 3995 3996 3997 #line default 3998 #line hidden 3999 WriteLiteralTo(__razor_helper_writer, " class=\""); 4000 4001 4002 #line 1223 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4003 WriteTo(__razor_helper_writer, settings.CssClass); 4004 4005 4006 #line default 4007 #line hidden 4008 WriteLiteralTo(__razor_helper_writer, " dw-mod\" />\r\n </div>\r\n"); 4009 4010 4011 #line 1225 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4012 } 4013 4014 4015 #line default 4016 #line hidden 4017 WriteLiteralTo(__razor_helper_writer, "\r\n"); 4018 4019 WriteLiteralTo(__razor_helper_writer, " "); 4020 4021 4022 #line 1227 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4023 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 4024 4025 4026 #line default 4027 #line hidden 4028 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 4029 4030 4031 #line 1229 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4032 4033 4034 #line default 4035 #line hidden 4036 }); 4037 4038 #line 1229 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4039 } 4040 #line default 4041 #line hidden 4042 4043 4044 #line 1237 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4045 public RazorEngine.Templating.TemplateWriter RenderTextareaField(TextareaField settings) 4046 { 4047 #line default 4048 #line hidden 4049 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 4050 4051 #line 1238 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4052 4053 Dictionary<string, string> attributes = new Dictionary<string, string>(); 4054 string id = settings.Id; 4055 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(id)) 4056 { 4057 id = Guid.NewGuid().ToString("N"); 4058 } 4059 4060 if (!string.IsNullOrEmpty(id)) { attributes.Add("id", id); } 4061 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 4062 if (!string.IsNullOrEmpty(settings.OnKeyUp)) { attributes.Add("onkeyup", settings.OnKeyUp); } 4063 if (!string.IsNullOrEmpty(settings.OnInput)) { attributes.Add("oninput", settings.OnInput); } 4064 if (!string.IsNullOrEmpty(settings.OnFocus)) { attributes.Add("onfocus", settings.OnFocus); } 4065 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 4066 if (!string.IsNullOrEmpty(settings.Placeholder)) { attributes.Add("placeholder", settings.Placeholder); } 4067 if (settings.Disabled) { attributes.Add("disabled", "true"); } 4068 if (settings.Required) { attributes.Add("required", "true"); } 4069 if (settings.ReadOnly) { attributes.Add("readonly", "true"); } 4070 if (settings.MaxLength != 0) { attributes.Add("maxlength", settings.MaxLength.ToString()); } 4071 if (settings.Rows != 0) { attributes.Add("rows", settings.Rows.ToString()); } 4072 attributes.Add("name", settings.Name); 4073 4074 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 4075 4076 4077 4078 #line default 4079 #line hidden 4080 WriteLiteralTo(__razor_helper_writer, " <div"); 4081 4082 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 47954), Tuple.Create("\"", 48012) 4083 , Tuple.Create(Tuple.Create("", 47962), Tuple.Create("form__field-group", 47962), true) 4084 4085 #line 1262 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4086 , Tuple.Create(Tuple.Create(" ", 47979), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 4087 4088 #line default 4089 #line hidden 4090 , 47980), false) 4091 , Tuple.Create(Tuple.Create(" ", 48005), Tuple.Create("dw-mod", 48006), true) 4092 ); 4093 4094 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 4095 4096 4097 #line 1263 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4098 4099 4100 #line default 4101 #line hidden 4102 4103 #line 1263 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4104 if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 4105 { 4106 4107 4108 #line default 4109 #line hidden 4110 WriteLiteralTo(__razor_helper_writer, " <div"); 4111 4112 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width\""); 4113 4114 WriteLiteralTo(__razor_helper_writer, "> \r\n"); 4115 4116 4117 #line 1266 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4118 4119 4120 #line default 4121 #line hidden 4122 4123 #line 1266 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4124 if (!string.IsNullOrEmpty(settings.Label)) { 4125 4126 #line default 4127 #line hidden 4128 WriteLiteralTo(__razor_helper_writer, " <label"); 4129 4130 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 48215), Tuple.Create("\"", 48233) 4131 4132 #line 1266 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4133 , Tuple.Create(Tuple.Create("", 48221), Tuple.Create<System.Object, System.Int32>(settings.Id 4134 4135 #line default 4136 #line hidden 4137 , 48221), false) 4138 ); 4139 4140 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left\""); 4141 4142 WriteLiteralTo(__razor_helper_writer, ">"); 4143 4144 4145 #line 1266 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4146 WriteTo(__razor_helper_writer, settings.Label); 4147 4148 4149 #line default 4150 #line hidden 4151 WriteLiteralTo(__razor_helper_writer, "</label> "); 4152 4153 4154 #line 1266 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4155 } 4156 4157 4158 #line default 4159 #line hidden 4160 WriteLiteralTo(__razor_helper_writer, " "); 4161 4162 4163 #line 1267 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4164 if (settings.Link != null) { 4165 4166 4167 #line default 4168 #line hidden 4169 WriteLiteralTo(__razor_helper_writer, " <div"); 4170 4171 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--right\""); 4172 4173 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 4174 4175 4176 #line 1269 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4177 4178 4179 #line default 4180 #line hidden 4181 4182 #line 1269 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4183 settings.Link.ButtonLayout = ButtonLayout.LinkClean; 4184 4185 #line default 4186 #line hidden 4187 WriteLiteralTo(__razor_helper_writer, "\r\n"); 4188 4189 WriteLiteralTo(__razor_helper_writer, " "); 4190 4191 4192 #line 1270 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4193 WriteTo(__razor_helper_writer, Render(settings.Link)); 4194 4195 4196 #line default 4197 #line hidden 4198 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 4199 4200 4201 #line 1272 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4202 } 4203 4204 4205 #line default 4206 #line hidden 4207 WriteLiteralTo(__razor_helper_writer, " </div> \r\n"); 4208 4209 4210 #line 1274 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4211 } 4212 4213 4214 #line default 4215 #line hidden 4216 WriteLiteralTo(__razor_helper_writer, "\r\n"); 4217 4218 4219 #line 1276 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4220 4221 4222 #line default 4223 #line hidden 4224 4225 #line 1276 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4226 if (!string.IsNullOrEmpty(settings.HelpText)) 4227 { 4228 4229 4230 #line default 4231 #line hidden 4232 WriteLiteralTo(__razor_helper_writer, " <small"); 4233 4234 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text\""); 4235 4236 WriteLiteralTo(__razor_helper_writer, ">"); 4237 4238 4239 #line 1278 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4240 WriteTo(__razor_helper_writer, settings.HelpText); 4241 4242 4243 #line default 4244 #line hidden 4245 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 4246 4247 4248 #line 1279 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4249 } 4250 4251 4252 #line default 4253 #line hidden 4254 WriteLiteralTo(__razor_helper_writer, "\r\n <textarea"); 4255 4256 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 48759), Tuple.Create("\"", 48805) 4257 , Tuple.Create(Tuple.Create("", 48767), Tuple.Create("u-full-width", 48767), true) 4258 4259 #line 1281 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4260 , Tuple.Create(Tuple.Create(" ", 48779), Tuple.Create<System.Object, System.Int32>(settings.CssClass 4261 4262 #line default 4263 #line hidden 4264 , 48780), false) 4265 , Tuple.Create(Tuple.Create(" ", 48798), Tuple.Create("dw-mod", 48799), true) 4266 ); 4267 4268 WriteLiteralTo(__razor_helper_writer, " "); 4269 4270 4271 #line 1281 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4272 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(attributes)); 4273 4274 4275 #line default 4276 #line hidden 4277 WriteLiteralTo(__razor_helper_writer, " "); 4278 4279 4280 #line 1281 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4281 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4282 4283 4284 #line default 4285 #line hidden 4286 WriteLiteralTo(__razor_helper_writer, ">"); 4287 4288 4289 #line 1281 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4290 WriteTo(__razor_helper_writer, settings.Value); 4291 4292 4293 #line default 4294 #line hidden 4295 WriteLiteralTo(__razor_helper_writer, "</textarea>\r\n\r\n"); 4296 4297 WriteLiteralTo(__razor_helper_writer, " "); 4298 4299 4300 #line 1283 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4301 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 4302 4303 4304 #line default 4305 #line hidden 4306 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 4307 4308 4309 #line 1285 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4310 4311 4312 #line default 4313 #line hidden 4314 }); 4315 4316 #line 1285 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4317 } 4318 #line default 4319 #line hidden 4320 4321 4322 #line 1293 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4323 public RazorEngine.Templating.TemplateWriter RenderHiddenField(HiddenField settings) { 4324 #line default 4325 #line hidden 4326 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 4327 4328 #line 1293 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4329 4330 var attributes = new Dictionary<string, string>(); 4331 attributes.Add("type", "hidden"); 4332 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 4333 if (settings.Value != null) { attributes.Add("value", settings.Value); } 4334 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 4335 4336 4337 4338 #line default 4339 #line hidden 4340 WriteLiteralTo(__razor_helper_writer, " <input "); 4341 4342 4343 #line 1300 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4344 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(attributes)); 4345 4346 4347 #line default 4348 #line hidden 4349 WriteLiteralTo(__razor_helper_writer, " "); 4350 4351 4352 #line 1300 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4353 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4354 4355 4356 #line default 4357 #line hidden 4358 WriteLiteralTo(__razor_helper_writer, "/>\r\n"); 4359 4360 4361 #line 1301 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4362 4363 4364 #line default 4365 #line hidden 4366 }); 4367 4368 #line 1301 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4369 } 4370 #line default 4371 #line hidden 4372 4373 4374 #line 1308 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4375 public RazorEngine.Templating.TemplateWriter RenderCheckboxField(CheckboxField settings) 4376 { 4377 #line default 4378 #line hidden 4379 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 4380 4381 #line 1309 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4382 4383 var attributes = new Dictionary<string, string>(); 4384 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 4385 { 4386 settings.Id = Guid.NewGuid().ToString("N"); 4387 } 4388 4389 /*base settings*/ 4390 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 4391 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 4392 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 4393 if (settings.Disabled) { attributes.Add("disabled", "true"); } 4394 if (settings.Required) { attributes.Add("required", "true"); } 4395 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 4396 /*end*/ 4397 4398 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 4399 4400 attributes.Add("type", "checkbox"); 4401 if (settings.Checked) { attributes.Add("checked", "true"); } 4402 settings.CssClass = "form__control " + settings.CssClass; 4403 if (settings.Value != null) { attributes.Add("value", settings.Value); } 4404 4405 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 4406 4407 4408 4409 #line default 4410 #line hidden 4411 WriteLiteralTo(__razor_helper_writer, " <div"); 4412 4413 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 51201), Tuple.Create("\"", 51259) 4414 , Tuple.Create(Tuple.Create("", 51209), Tuple.Create("form__field-group", 51209), true) 4415 4416 #line 1334 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4417 , Tuple.Create(Tuple.Create(" ", 51226), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 4418 4419 #line default 4420 #line hidden 4421 , 51227), false) 4422 , Tuple.Create(Tuple.Create(" ", 51252), Tuple.Create("dw-mod", 51253), true) 4423 ); 4424 4425 WriteLiteralTo(__razor_helper_writer, ">\r\n <input "); 4426 4427 4428 #line 1335 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4429 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 4430 4431 4432 #line default 4433 #line hidden 4434 WriteLiteralTo(__razor_helper_writer, " class=\""); 4435 4436 4437 #line 1335 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4438 WriteTo(__razor_helper_writer, settings.CssClass); 4439 4440 4441 #line default 4442 #line hidden 4443 WriteLiteralTo(__razor_helper_writer, " dw-mod\" />\r\n"); 4444 4445 4446 #line 1336 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4447 4448 4449 #line default 4450 #line hidden 4451 4452 #line 1336 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4453 if (!string.IsNullOrEmpty(settings.Label)) 4454 { 4455 4456 4457 #line default 4458 #line hidden 4459 WriteLiteralTo(__razor_helper_writer, " <label"); 4460 4461 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 51448), Tuple.Create("\"", 51466) 4462 4463 #line 1338 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4464 , Tuple.Create(Tuple.Create("", 51454), Tuple.Create<System.Object, System.Int32>(settings.Id 4465 4466 #line default 4467 #line hidden 4468 , 51454), false) 4469 ); 4470 4471 WriteLiteralTo(__razor_helper_writer, " class=\"dw-mod\""); 4472 4473 WriteLiteralTo(__razor_helper_writer, ">"); 4474 4475 4476 #line 1338 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4477 WriteTo(__razor_helper_writer, settings.Label); 4478 4479 4480 #line default 4481 #line hidden 4482 WriteLiteralTo(__razor_helper_writer, "</label>\r\n"); 4483 4484 4485 #line 1339 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4486 } 4487 4488 4489 #line default 4490 #line hidden 4491 WriteLiteralTo(__razor_helper_writer, "\r\n"); 4492 4493 4494 #line 1341 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4495 4496 4497 #line default 4498 #line hidden 4499 4500 #line 1341 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4501 if (settings.Link != null) { 4502 4503 4504 #line default 4505 #line hidden 4506 WriteLiteralTo(__razor_helper_writer, " <span>\r\n"); 4507 4508 4509 #line 1343 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4510 4511 4512 #line default 4513 #line hidden 4514 4515 #line 1343 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4516 settings.Link.ButtonLayout = ButtonLayout.LinkClean; 4517 4518 #line default 4519 #line hidden 4520 WriteLiteralTo(__razor_helper_writer, "\r\n"); 4521 4522 WriteLiteralTo(__razor_helper_writer, " "); 4523 4524 4525 #line 1344 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4526 WriteTo(__razor_helper_writer, Render(settings.Link)); 4527 4528 4529 #line default 4530 #line hidden 4531 WriteLiteralTo(__razor_helper_writer, "\r\n </span>\r\n"); 4532 4533 4534 #line 1346 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4535 } 4536 4537 4538 #line default 4539 #line hidden 4540 WriteLiteralTo(__razor_helper_writer, "\r\n"); 4541 4542 4543 #line 1348 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4544 4545 4546 #line default 4547 #line hidden 4548 4549 #line 1348 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4550 if (!string.IsNullOrEmpty(settings.HelpText)) 4551 { 4552 4553 4554 #line default 4555 #line hidden 4556 WriteLiteralTo(__razor_helper_writer, " <small"); 4557 4558 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text checkbox-help dw-mod\""); 4559 4560 WriteLiteralTo(__razor_helper_writer, ">"); 4561 4562 4563 #line 1350 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4564 WriteTo(__razor_helper_writer, settings.HelpText); 4565 4566 4567 #line default 4568 #line hidden 4569 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 4570 4571 4572 #line 1351 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4573 } 4574 4575 4576 #line default 4577 #line hidden 4578 WriteLiteralTo(__razor_helper_writer, " "); 4579 4580 4581 #line 1352 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4582 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 4583 4584 4585 #line default 4586 #line hidden 4587 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 4588 4589 4590 #line 1354 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4591 4592 4593 #line default 4594 #line hidden 4595 }); 4596 4597 #line 1354 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4598 } 4599 #line default 4600 #line hidden 4601 4602 4603 #line 1362 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4604 public RazorEngine.Templating.TemplateWriter RenderCheckboxListField(CheckboxListField settings) 4605 { 4606 #line default 4607 #line hidden 4608 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 4609 4610 #line 1363 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4611 4612 4613 4614 #line default 4615 #line hidden 4616 WriteLiteralTo(__razor_helper_writer, " <div"); 4617 4618 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 52209), Tuple.Create("\"", 52283) 4619 , Tuple.Create(Tuple.Create("", 52217), Tuple.Create("form__field-group", 52217), true) 4620 4621 #line 1364 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4622 , Tuple.Create(Tuple.Create(" ", 52234), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 4623 4624 #line default 4625 #line hidden 4626 , 52235), false) 4627 , Tuple.Create(Tuple.Create(" ", 52260), Tuple.Create("u-margin-bottom", 52261), true) 4628 , Tuple.Create(Tuple.Create(" ", 52276), Tuple.Create("dw-mod", 52277), true) 4629 ); 4630 4631 WriteLiteralTo(__razor_helper_writer, " "); 4632 4633 4634 #line 1364 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4635 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 4636 4637 4638 #line default 4639 #line hidden 4640 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 4641 4642 4643 #line 1365 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4644 4645 4646 #line default 4647 #line hidden 4648 4649 #line 1365 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4650 if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 4651 { 4652 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 4653 if (!string.IsNullOrEmpty(settings.Label)) { 4654 4655 #line default 4656 #line hidden 4657 WriteLiteralTo(__razor_helper_writer, " <label"); 4658 4659 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left\""); 4660 4661 WriteLiteralTo(__razor_helper_writer, ">"); 4662 4663 4664 #line 1368 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4665 WriteTo(__razor_helper_writer, settings.Label); 4666 4667 4668 #line default 4669 #line hidden 4670 WriteLiteralTo(__razor_helper_writer, "</label> "); 4671 4672 4673 #line 1368 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4674 } 4675 // Adding input type radio as a work around for HTML5 validation for checkbox list 4676 if (settings.Required) { 4677 4678 #line default 4679 #line hidden 4680 WriteLiteralTo(__razor_helper_writer, "<input"); 4681 4682 WriteLiteralTo(__razor_helper_writer, " type=\"radio\""); 4683 4684 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 52842), Tuple.Create("\"", 52863) 4685 4686 #line 1370 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4687 , Tuple.Create(Tuple.Create("", 52849), Tuple.Create<System.Object, System.Int32>(settings.Name 4688 4689 #line default 4690 #line hidden 4691 , 52849), false) 4692 ); 4693 4694 WriteLiteralTo(__razor_helper_writer, " class=\"u-visually-hidden hidden-required-input\""); 4695 4696 WriteLiteralTo(__razor_helper_writer, " required /> "); 4697 4698 4699 #line 1370 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4700 } 4701 if (!string.IsNullOrEmpty(settings.HelpText)) { 4702 4703 #line default 4704 #line hidden 4705 WriteLiteralTo(__razor_helper_writer, " <small"); 4706 4707 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text\""); 4708 4709 WriteLiteralTo(__razor_helper_writer, ">"); 4710 4711 4712 #line 1371 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4713 WriteTo(__razor_helper_writer, settings.HelpText); 4714 4715 4716 #line default 4717 #line hidden 4718 WriteLiteralTo(__razor_helper_writer, "</small> "); 4719 4720 4721 #line 1371 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4722 } 4723 if (settings.Link != null) { 4724 4725 4726 #line default 4727 #line hidden 4728 WriteLiteralTo(__razor_helper_writer, " <div"); 4729 4730 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--right\""); 4731 4732 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 4733 4734 4735 #line 1374 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4736 4737 4738 #line default 4739 #line hidden 4740 4741 #line 1374 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4742 settings.Link.ButtonLayout = ButtonLayout.LinkClean; 4743 4744 #line default 4745 #line hidden 4746 WriteLiteralTo(__razor_helper_writer, "\r\n"); 4747 4748 WriteLiteralTo(__razor_helper_writer, " "); 4749 4750 4751 #line 1375 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4752 WriteTo(__razor_helper_writer, Render(settings.Link)); 4753 4754 4755 #line default 4756 #line hidden 4757 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 4758 4759 4760 #line 1377 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4761 } 4762 } 4763 4764 4765 #line default 4766 #line hidden 4767 WriteLiteralTo(__razor_helper_writer, "\r\n <div"); 4768 4769 WriteLiteralTo(__razor_helper_writer, " class=\"forms__fields-options\""); 4770 4771 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 4772 4773 4774 #line 1381 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4775 4776 4777 #line default 4778 #line hidden 4779 4780 #line 1381 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4781 foreach (var item in settings.Options) 4782 { 4783 if (settings.Required) 4784 { 4785 item.OnChange = "Forms.ValidateRequiredList(this)"; 4786 } 4787 if (settings.Disabled) 4788 { 4789 item.Disabled = true; 4790 } 4791 if (!string.IsNullOrEmpty(settings.Name)) 4792 { 4793 item.Name = settings.Name; 4794 } 4795 if (!string.IsNullOrEmpty(settings.CssClass)) 4796 { 4797 item.CssClass += settings.CssClass; 4798 } 4799 4800 /* value is not supported */ 4801 4802 if (!string.IsNullOrEmpty(settings.OnClick)) 4803 { 4804 item.OnClick += settings.OnClick; 4805 } 4806 if (!string.IsNullOrEmpty(settings.OnChange)) 4807 { 4808 item.OnChange += settings.OnChange; 4809 } 4810 4811 4812 #line default 4813 #line hidden 4814 4815 #line 1410 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4816 WriteTo(__razor_helper_writer, Render(item)); 4817 4818 4819 #line default 4820 #line hidden 4821 4822 #line 1410 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4823 4824 } 4825 4826 4827 #line default 4828 #line hidden 4829 WriteLiteralTo(__razor_helper_writer, " </div>\r\n\r\n"); 4830 4831 WriteLiteralTo(__razor_helper_writer, " "); 4832 4833 4834 #line 1414 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4835 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 4836 4837 4838 #line default 4839 #line hidden 4840 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 4841 4842 4843 #line 1416 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4844 4845 4846 #line default 4847 #line hidden 4848 }); 4849 4850 #line 1416 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4851 } 4852 #line default 4853 #line hidden 4854 4855 4856 #line 1421 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4857 public RazorEngine.Templating.TemplateWriter RenderSearch(Search settings) 4858 { 4859 #line default 4860 #line hidden 4861 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 4862 4863 #line 1422 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4864 4865 var searchValue = HttpContext.Current.Request.QueryString.Get(settings.SearchParameter) ?? ""; 4866 var groupValue = HttpContext.Current.Request.QueryString.Get(settings.GroupsParameter) ?? ""; 4867 4868 if (string.IsNullOrEmpty(settings.Id)) 4869 { 4870 settings.Id = Guid.NewGuid().ToString("N"); 4871 } 4872 4873 var resultAttributes = new Dictionary<string, string>(); 4874 4875 if (settings.PageSize != 0) 4876 { 4877 resultAttributes.Add("data-page-size", settings.PageSize.ToString()); 4878 } 4879 if (!string.IsNullOrEmpty(settings.GroupItemsFeedUrl)) 4880 { 4881 resultAttributes.Add("data-groups-feed-url", settings.GroupItemsFeedUrl); 4882 if (!string.IsNullOrEmpty(groupValue)) 4883 { 4884 resultAttributes.Add("data-selected-group", groupValue); 4885 } 4886 if (!string.IsNullOrEmpty(settings.GroupsParameter)) 4887 { 4888 resultAttributes.Add("data-groups-parameter", settings.GroupsParameter); 4889 } 4890 } 4891 resultAttributes.Add("data-force-init", "true"); 4892 if (settings.GoToFirstSearchResultOnEnter) 4893 { 4894 resultAttributes.Add("data-go-to-first-search-result-on-enter", settings.GoToFirstSearchResultOnEnter.ToString().ToLower()); 4895 } 4896 if (!string.IsNullOrEmpty(settings.SearchParameter)) 4897 { 4898 resultAttributes.Add("data-search-parameter", settings.SearchParameter); 4899 } 4900 resultAttributes.Add("data-search-feed-url", settings.SearchData.SearchFeedUrl); 4901 resultAttributes.Add("data-results-template-id", settings.SearchData.ResultsTemplateId); 4902 4903 if (settings.SecondSearchData != null) 4904 { 4905 resultAttributes.Add("data-second-search-feed-url", settings.SecondSearchData.SearchFeedUrl); 4906 resultAttributes.Add("data-second-results-template-id", settings.SecondSearchData.ResultsTemplateId); 4907 } 4908 if (!string.IsNullOrEmpty(settings.ResultsPageUrl)) 4909 { 4910 resultAttributes.Add("data-results-page-url", settings.ResultsPageUrl); 4911 } 4912 4913 resultAttributes = resultAttributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 4914 4915 string searchFieldCss = (settings.SearchButton == null) ? "search--with-icon" : ""; 4916 4917 4918 4919 #line default 4920 #line hidden 4921 WriteLiteralTo(__razor_helper_writer, " <div"); 4922 4923 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 56863), Tuple.Create("\"", 56941) 4924 , Tuple.Create(Tuple.Create("", 56871), Tuple.Create("search", 56871), true) 4925 4926 #line 1475 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4927 , Tuple.Create(Tuple.Create(" ", 56877), Tuple.Create<System.Object, System.Int32>(settings.CssClass 4928 4929 #line default 4930 #line hidden 4931 , 56878), false) 4932 4933 #line 1475 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4934 , Tuple.Create(Tuple.Create(" ", 56896), Tuple.Create<System.Object, System.Int32>(searchFieldCss 4935 4936 #line default 4937 #line hidden 4938 , 56897), false) 4939 , Tuple.Create(Tuple.Create(" ", 56912), Tuple.Create("js-search-data-source", 56913), true) 4940 , Tuple.Create(Tuple.Create(" ", 56934), Tuple.Create("dw-mod", 56935), true) 4941 ); 4942 4943 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 56942), Tuple.Create("\"", 56959) 4944 4945 #line 1475 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4946 , Tuple.Create(Tuple.Create("", 56947), Tuple.Create<System.Object, System.Int32>(settings.Id 4947 4948 #line default 4949 #line hidden 4950 , 56947), false) 4951 ); 4952 4953 WriteLiteralTo(__razor_helper_writer, " "); 4954 4955 4956 #line 1475 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4957 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 4958 4959 4960 #line default 4961 #line hidden 4962 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 4963 4964 4965 #line 1476 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4966 4967 4968 #line default 4969 #line hidden 4970 4971 #line 1476 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4972 if (!string.IsNullOrEmpty(settings.GroupItemsFeedUrl)) 4973 { 4974 4975 4976 #line default 4977 #line hidden 4978 WriteLiteralTo(__razor_helper_writer, " <button"); 4979 4980 WriteLiteralTo(__razor_helper_writer, " type=\"button\""); 4981 4982 WriteLiteralTo(__razor_helper_writer, " class=\"search__groups-btn dw-mod js-search-groups-btn\""); 4983 4984 WriteLiteralTo(__razor_helper_writer, ">"); 4985 4986 4987 #line 1478 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 4988 WriteTo(__razor_helper_writer, Translate("All")); 4989 4990 4991 #line default 4992 #line hidden 4993 WriteLiteralTo(__razor_helper_writer, "</button>\r\n"); 4994 4995 WriteLiteralTo(__razor_helper_writer, " <ul"); 4996 4997 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown dropdown--absolute-position dw-mod search__groups-results js-sea" + 4998 "rch-groups-list\""); 4999 5000 WriteLiteralTo(__razor_helper_writer, "></ul>\r\n"); 5001 5002 5003 #line 1480 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5004 } 5005 5006 5007 #line default 5008 #line hidden 5009 WriteLiteralTo(__razor_helper_writer, "\r\n <input"); 5010 5011 WriteLiteralTo(__razor_helper_writer, " type=\"text\""); 5012 5013 WriteLiteralTo(__razor_helper_writer, " class=\"search__field dw-mod js-search-field\""); 5014 5015 WriteAttributeTo(__razor_helper_writer, "placeholder", Tuple.Create(" placeholder=\"", 57410), Tuple.Create("\"", 57445) 5016 5017 #line 1482 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5018 , Tuple.Create(Tuple.Create("", 57424), Tuple.Create<System.Object, System.Int32>(settings.Placeholder 5019 5020 #line default 5021 #line hidden 5022 , 57424), false) 5023 ); 5024 5025 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 57446), Tuple.Create("\"", 57466) 5026 5027 #line 1482 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5028 , Tuple.Create(Tuple.Create("", 57454), Tuple.Create<System.Object, System.Int32>(searchValue 5029 5030 #line default 5031 #line hidden 5032 , 57454), false) 5033 ); 5034 5035 WriteLiteralTo(__razor_helper_writer, ">\r\n \r\n <div"); 5036 5037 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 57492), Tuple.Create("\"", 57649) 5038 , Tuple.Create(Tuple.Create("", 57500), Tuple.Create("dropdown", 57500), true) 5039 , Tuple.Create(Tuple.Create(" ", 57508), Tuple.Create("dropdown--absolute-position", 57509), true) 5040 , Tuple.Create(Tuple.Create(" ", 57536), Tuple.Create("search__results", 57537), true) 5041 , Tuple.Create(Tuple.Create(" ", 57552), Tuple.Create("dw-mod", 57553), true) 5042 , Tuple.Create(Tuple.Create(" ", 57559), Tuple.Create("js-search-results", 57560), true) 5043 5044 #line 1484 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5045 , Tuple.Create(Tuple.Create(" ", 57577), Tuple.Create<System.Object, System.Int32>(settings.SecondSearchData != null ? "search__results--combined" : "" 5046 5047 #line default 5048 #line hidden 5049 , 57578), false) 5050 ); 5051 5052 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 5053 5054 5055 #line 1485 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5056 5057 5058 #line default 5059 #line hidden 5060 5061 #line 1485 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5062 if (settings.SecondSearchData != null) 5063 { 5064 5065 5066 #line default 5067 #line hidden 5068 WriteLiteralTo(__razor_helper_writer, " <div"); 5069 5070 WriteLiteralTo(__razor_helper_writer, " class=\"search__column search__column--products dw-mod\""); 5071 5072 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 5073 5074 WriteLiteralTo(__razor_helper_writer, " class=\"search__column-header dw-mod\""); 5075 5076 WriteLiteralTo(__razor_helper_writer, ">"); 5077 5078 5079 #line 1488 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5080 WriteTo(__razor_helper_writer, Translate("Products")); 5081 5082 5083 #line default 5084 #line hidden 5085 WriteLiteralTo(__razor_helper_writer, "</div>\r\n <ul"); 5086 5087 WriteLiteralTo(__razor_helper_writer, " class=\"search__results-list dw-mod js-search-results-list\""); 5088 5089 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 57973), Tuple.Create("\"", 58004) 5090 5091 #line 1489 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5092 , Tuple.Create(Tuple.Create("", 57978), Tuple.Create<System.Object, System.Int32>(settings.Id 5093 5094 #line default 5095 #line hidden 5096 , 57978), false) 5097 , Tuple.Create(Tuple.Create("", 57992), Tuple.Create("_ResultsList", 57992), true) 5098 ); 5099 5100 WriteLiteralTo(__razor_helper_writer, "></ul>\r\n"); 5101 5102 5103 #line 1490 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5104 5105 5106 #line default 5107 #line hidden 5108 5109 #line 1490 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5110 if (!string.IsNullOrEmpty(settings.SearchData.ResultsPageUrl)) 5111 { 5112 5113 5114 #line default 5115 #line hidden 5116 5117 #line 1492 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5118 WriteTo(__razor_helper_writer, Render(new Link { 5119 Title = Translate("View all"), 5120 CssClass = "js-view-all-button u-margin", 5121 Href = settings.SearchData.ResultsPageUrl 5122 })); 5123 5124 5125 #line default 5126 #line hidden 5127 5128 #line 1496 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5129 ; 5130 } 5131 5132 5133 #line default 5134 #line hidden 5135 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 5136 5137 WriteLiteralTo(__razor_helper_writer, " <div"); 5138 5139 WriteLiteralTo(__razor_helper_writer, " class=\"search__column search__column--pages dw-mod\""); 5140 5141 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 5142 5143 WriteLiteralTo(__razor_helper_writer, " class=\"search__column-header\""); 5144 5145 WriteLiteralTo(__razor_helper_writer, ">"); 5146 5147 5148 #line 1500 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5149 WriteTo(__razor_helper_writer, Translate("Pages")); 5150 5151 5152 #line default 5153 #line hidden 5154 WriteLiteralTo(__razor_helper_writer, "</div>\r\n <ul"); 5155 5156 WriteLiteralTo(__razor_helper_writer, " class=\"search__results-list dw-mod js-search-results-second-list\""); 5157 5158 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 58689), Tuple.Create("\"", 58726) 5159 5160 #line 1501 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5161 , Tuple.Create(Tuple.Create("", 58694), Tuple.Create<System.Object, System.Int32>(settings.Id 5162 5163 #line default 5164 #line hidden 5165 , 58694), false) 5166 , Tuple.Create(Tuple.Create("", 58708), Tuple.Create("_SecondResultsList", 58708), true) 5167 ); 5168 5169 WriteLiteralTo(__razor_helper_writer, "></ul>\r\n"); 5170 5171 5172 #line 1502 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5173 5174 5175 #line default 5176 #line hidden 5177 5178 #line 1502 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5179 if (!string.IsNullOrEmpty(settings.SecondSearchData.ResultsPageUrl)) 5180 { 5181 5182 5183 #line default 5184 #line hidden 5185 5186 #line 1504 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5187 WriteTo(__razor_helper_writer, Render(new Link 5188 { 5189 Title = Translate("View all"), 5190 CssClass = "js-view-all-button u-margin", 5191 Href = settings.SecondSearchData.ResultsPageUrl 5192 })); 5193 5194 5195 #line default 5196 #line hidden 5197 5198 #line 1509 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5199 ; 5200 } 5201 5202 5203 #line default 5204 #line hidden 5205 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 5206 5207 5208 #line 1512 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5209 } 5210 else 5211 { 5212 5213 5214 #line default 5215 #line hidden 5216 WriteLiteralTo(__razor_helper_writer, " <div"); 5217 5218 WriteLiteralTo(__razor_helper_writer, " class=\"search__column search__column--only dw-mod\""); 5219 5220 WriteLiteralTo(__razor_helper_writer, ">\r\n <ul"); 5221 5222 WriteLiteralTo(__razor_helper_writer, " class=\"search__results-list dw-mod js-search-results-list\""); 5223 5224 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 59406), Tuple.Create("\"", 59437) 5225 5226 #line 1516 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5227 , Tuple.Create(Tuple.Create("", 59411), Tuple.Create<System.Object, System.Int32>(settings.Id 5228 5229 #line default 5230 #line hidden 5231 , 59411), false) 5232 , Tuple.Create(Tuple.Create("", 59425), Tuple.Create("_ResultsList", 59425), true) 5233 ); 5234 5235 WriteLiteralTo(__razor_helper_writer, "></ul>\r\n"); 5236 5237 5238 #line 1517 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5239 5240 5241 #line default 5242 #line hidden 5243 5244 #line 1517 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5245 if (!string.IsNullOrEmpty(settings.SearchData.ResultsPageUrl)) 5246 { 5247 5248 5249 #line default 5250 #line hidden 5251 5252 #line 1519 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5253 WriteTo(__razor_helper_writer, Render(new Link { 5254 Title = Translate("View all"), 5255 CssClass = "js-view-all-button u-margin", 5256 Href = settings.SearchData.ResultsPageUrl 5257 })); 5258 5259 5260 #line default 5261 #line hidden 5262 5263 #line 1523 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5264 ; 5265 } 5266 5267 5268 #line default 5269 #line hidden 5270 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 5271 5272 5273 #line 1526 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5274 } 5275 5276 5277 #line default 5278 #line hidden 5279 WriteLiteralTo(__razor_helper_writer, " </div>\r\n\r\n"); 5280 5281 5282 #line 1529 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5283 5284 5285 #line default 5286 #line hidden 5287 5288 #line 1529 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5289 if (settings.SearchButton != null) 5290 { 5291 settings.SearchButton.CssClass += " search__btn js-search-btn"; 5292 if (settings.RenderDefaultSearchIcon) 5293 { 5294 settings.SearchButton.Icon = new Icon { Name = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("SearchIcon").SelectedValue }; 5295 } 5296 5297 5298 #line default 5299 #line hidden 5300 5301 #line 1536 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5302 WriteTo(__razor_helper_writer, Render(settings.SearchButton)); 5303 5304 5305 #line default 5306 #line hidden 5307 5308 #line 1536 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5309 ; 5310 } 5311 5312 5313 #line default 5314 #line hidden 5315 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 5316 5317 5318 #line 1539 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5319 5320 5321 #line default 5322 #line hidden 5323 }); 5324 5325 #line 1539 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5326 } 5327 #line default 5328 #line hidden 5329 5330 5331 #line 1547 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5332 public RazorEngine.Templating.TemplateWriter RenderSelectField(SelectField settings) 5333 { 5334 #line default 5335 #line hidden 5336 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 5337 5338 #line 1548 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5339 5340 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 5341 { 5342 settings.Id = Guid.NewGuid().ToString("N"); 5343 } 5344 5345 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 5346 5347 5348 5349 #line default 5350 #line hidden 5351 WriteLiteralTo(__razor_helper_writer, " <div"); 5352 5353 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 60851), Tuple.Create("\"", 60922) 5354 , Tuple.Create(Tuple.Create("", 60859), Tuple.Create("form__field-group", 60859), true) 5355 , Tuple.Create(Tuple.Create(" ", 60876), Tuple.Create("u-full-width", 60877), true) 5356 5357 #line 1556 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5358 , Tuple.Create(Tuple.Create(" ", 60889), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 5359 5360 #line default 5361 #line hidden 5362 , 60890), false) 5363 , Tuple.Create(Tuple.Create(" ", 60915), Tuple.Create("dw-mod", 60916), true) 5364 ); 5365 5366 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 5367 5368 5369 #line 1557 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5370 5371 5372 #line default 5373 #line hidden 5374 5375 #line 1557 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5376 if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 5377 { 5378 5379 5380 #line default 5381 #line hidden 5382 WriteLiteralTo(__razor_helper_writer, " <div"); 5383 5384 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width\""); 5385 5386 WriteLiteralTo(__razor_helper_writer, "> \r\n"); 5387 5388 5389 #line 1560 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5390 5391 5392 #line default 5393 #line hidden 5394 5395 #line 1560 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5396 if (!string.IsNullOrEmpty(settings.Label)) { 5397 5398 #line default 5399 #line hidden 5400 WriteLiteralTo(__razor_helper_writer, " <label"); 5401 5402 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 61125), Tuple.Create("\"", 61143) 5403 5404 #line 1560 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5405 , Tuple.Create(Tuple.Create("", 61131), Tuple.Create<System.Object, System.Int32>(settings.Id 5406 5407 #line default 5408 #line hidden 5409 , 61131), false) 5410 ); 5411 5412 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left\""); 5413 5414 WriteLiteralTo(__razor_helper_writer, ">"); 5415 5416 5417 #line 1560 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5418 WriteTo(__razor_helper_writer, settings.Label); 5419 5420 5421 #line default 5422 #line hidden 5423 WriteLiteralTo(__razor_helper_writer, "</label> "); 5424 5425 5426 #line 1560 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5427 } 5428 5429 5430 #line default 5431 #line hidden 5432 WriteLiteralTo(__razor_helper_writer, " "); 5433 5434 5435 #line 1561 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5436 if (settings.Link != null) { 5437 5438 5439 #line default 5440 #line hidden 5441 WriteLiteralTo(__razor_helper_writer, " <div"); 5442 5443 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--right\""); 5444 5445 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 5446 5447 5448 #line 1563 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5449 5450 5451 #line default 5452 #line hidden 5453 5454 #line 1563 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5455 settings.Link.ButtonLayout = ButtonLayout.LinkClean; 5456 5457 #line default 5458 #line hidden 5459 WriteLiteralTo(__razor_helper_writer, "\r\n"); 5460 5461 WriteLiteralTo(__razor_helper_writer, " "); 5462 5463 5464 #line 1564 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5465 WriteTo(__razor_helper_writer, Render(settings.Link)); 5466 5467 5468 #line default 5469 #line hidden 5470 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 5471 5472 5473 #line 1566 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5474 } 5475 5476 5477 #line default 5478 #line hidden 5479 WriteLiteralTo(__razor_helper_writer, " </div> \r\n"); 5480 5481 5482 #line 1568 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5483 } 5484 5485 5486 #line default 5487 #line hidden 5488 WriteLiteralTo(__razor_helper_writer, "\r\n"); 5489 5490 5491 #line 1570 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5492 5493 5494 #line default 5495 #line hidden 5496 5497 #line 1570 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5498 if (!string.IsNullOrEmpty(settings.HelpText)) 5499 { 5500 5501 5502 #line default 5503 #line hidden 5504 WriteLiteralTo(__razor_helper_writer, " <small"); 5505 5506 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text\""); 5507 5508 WriteLiteralTo(__razor_helper_writer, ">"); 5509 5510 5511 #line 1572 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5512 WriteTo(__razor_helper_writer, settings.HelpText); 5513 5514 5515 #line default 5516 #line hidden 5517 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 5518 5519 5520 #line 1573 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5521 } 5522 5523 5524 #line default 5525 #line hidden 5526 WriteLiteralTo(__razor_helper_writer, "\r\n"); 5527 5528 5529 #line 1575 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5530 5531 5532 #line default 5533 #line hidden 5534 5535 #line 1575 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5536 if (settings.ActionButton != null) 5537 { 5538 settings.ActionButton.CssClass += " btn--condensed u-no-margin"; 5539 5540 5541 #line default 5542 #line hidden 5543 WriteLiteralTo(__razor_helper_writer, " <div"); 5544 5545 WriteLiteralTo(__razor_helper_writer, " class=\"form__field-combi u-no-margin dw-mod\""); 5546 5547 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 5548 5549 WriteLiteralTo(__razor_helper_writer, " "); 5550 5551 5552 #line 1579 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5553 WriteTo(__razor_helper_writer, RenderSelectBase(settings)); 5554 5555 5556 #line default 5557 #line hidden 5558 WriteLiteralTo(__razor_helper_writer, "\r\n"); 5559 5560 WriteLiteralTo(__razor_helper_writer, " "); 5561 5562 5563 #line 1580 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5564 WriteTo(__razor_helper_writer, Render(settings.ActionButton)); 5565 5566 5567 #line default 5568 #line hidden 5569 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 5570 5571 5572 #line 1582 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5573 } 5574 else 5575 { 5576 5577 5578 #line default 5579 #line hidden 5580 5581 #line 1585 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5582 WriteTo(__razor_helper_writer, RenderSelectBase(settings)); 5583 5584 5585 #line default 5586 #line hidden 5587 5588 #line 1585 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5589 5590 } 5591 5592 5593 #line default 5594 #line hidden 5595 WriteLiteralTo(__razor_helper_writer, "\r\n"); 5596 5597 WriteLiteralTo(__razor_helper_writer, " "); 5598 5599 5600 #line 1588 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5601 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 5602 5603 5604 #line default 5605 #line hidden 5606 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 5607 5608 5609 #line 1590 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5610 5611 5612 #line default 5613 #line hidden 5614 }); 5615 5616 #line 1590 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5617 } 5618 #line default 5619 #line hidden 5620 5621 5622 #line 1592 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5623 public RazorEngine.Templating.TemplateWriter RenderSelectBase(SelectField settings) 5624 { 5625 #line default 5626 #line hidden 5627 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 5628 5629 #line 1593 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5630 5631 var attributes = new Dictionary<string, string>(); 5632 5633 /*base settings*/ 5634 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5635 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 5636 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 5637 if (settings.Disabled) { attributes.Add("disabled", "true"); } 5638 if (settings.Required) { attributes.Add("required", "true"); } 5639 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 5640 /*end*/ 5641 5642 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 5643 5644 5645 5646 #line default 5647 #line hidden 5648 WriteLiteralTo(__razor_helper_writer, " <select "); 5649 5650 5651 #line 1607 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5652 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 5653 5654 5655 #line default 5656 #line hidden 5657 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width "); 5658 5659 5660 #line 1607 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5661 WriteTo(__razor_helper_writer, settings.CssClass); 5662 5663 5664 #line default 5665 #line hidden 5666 WriteLiteralTo(__razor_helper_writer, " dw-mod\">\r\n"); 5667 5668 5669 #line 1608 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5670 5671 5672 #line default 5673 #line hidden 5674 5675 #line 1608 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5676 if (settings.Default != null) 5677 { 5678 5679 5680 #line default 5681 #line hidden 5682 5683 #line 1610 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5684 WriteTo(__razor_helper_writer, Render(settings.Default)); 5685 5686 5687 #line default 5688 #line hidden 5689 5690 #line 1610 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5691 5692 } 5693 5694 5695 #line default 5696 #line hidden 5697 WriteLiteralTo(__razor_helper_writer, "\r\n"); 5698 5699 5700 #line 1613 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5701 5702 5703 #line default 5704 #line hidden 5705 5706 #line 1613 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5707 foreach (var item in settings.Options) 5708 { 5709 if (settings.Value != null) { 5710 item.Checked = item.Value == settings.Value; 5711 } 5712 5713 5714 #line default 5715 #line hidden 5716 5717 #line 1618 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5718 WriteTo(__razor_helper_writer, Render(item)); 5719 5720 5721 #line default 5722 #line hidden 5723 5724 #line 1618 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5725 5726 } 5727 5728 5729 #line default 5730 #line hidden 5731 WriteLiteralTo(__razor_helper_writer, " </select>\r\n"); 5732 5733 5734 #line 1621 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5735 5736 5737 #line default 5738 #line hidden 5739 }); 5740 5741 #line 1621 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5742 } 5743 #line default 5744 #line hidden 5745 5746 5747 #line 1628 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5748 public RazorEngine.Templating.TemplateWriter RenderRadioButtonField(RadioButtonField settings) 5749 { 5750 #line default 5751 #line hidden 5752 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 5753 5754 #line 1629 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5755 5756 var attributes = new Dictionary<string, string>(); 5757 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 5758 { 5759 settings.Id = Guid.NewGuid().ToString("N"); 5760 } 5761 5762 /*base settings*/ 5763 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 5764 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 5765 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 5766 if (settings.Disabled) { attributes.Add("disabled", "true"); } 5767 if (settings.Required) { attributes.Add("required", "true"); } 5768 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 5769 /*end*/ 5770 5771 attributes.Add("type", "radio"); 5772 if (settings.Checked) { attributes.Add("checked", "true"); } 5773 settings.CssClass = "form__control " + settings.CssClass; 5774 if (settings.Value != null) { attributes.Add("value", settings.Value); } 5775 5776 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 5777 5778 5779 5780 #line default 5781 #line hidden 5782 WriteLiteralTo(__razor_helper_writer, " <div"); 5783 5784 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 64764), Tuple.Create("\"", 64822) 5785 , Tuple.Create(Tuple.Create("", 64772), Tuple.Create("form__field-group", 64772), true) 5786 5787 #line 1652 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5788 , Tuple.Create(Tuple.Create(" ", 64789), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 5789 5790 #line default 5791 #line hidden 5792 , 64790), false) 5793 , Tuple.Create(Tuple.Create(" ", 64815), Tuple.Create("dw-mod", 64816), true) 5794 ); 5795 5796 WriteLiteralTo(__razor_helper_writer, ">\r\n <input "); 5797 5798 5799 #line 1653 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5800 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 5801 5802 5803 #line default 5804 #line hidden 5805 WriteLiteralTo(__razor_helper_writer, " class=\""); 5806 5807 5808 #line 1653 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5809 WriteTo(__razor_helper_writer, settings.CssClass); 5810 5811 5812 #line default 5813 #line hidden 5814 WriteLiteralTo(__razor_helper_writer, " dw-mod\" />\r\n"); 5815 5816 5817 #line 1654 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5818 5819 5820 #line default 5821 #line hidden 5822 5823 #line 1654 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5824 if (!string.IsNullOrEmpty(settings.Label)) 5825 { 5826 5827 5828 #line default 5829 #line hidden 5830 WriteLiteralTo(__razor_helper_writer, " <label"); 5831 5832 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 65011), Tuple.Create("\"", 65029) 5833 5834 #line 1656 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5835 , Tuple.Create(Tuple.Create("", 65017), Tuple.Create<System.Object, System.Int32>(settings.Id 5836 5837 #line default 5838 #line hidden 5839 , 65017), false) 5840 ); 5841 5842 WriteLiteralTo(__razor_helper_writer, " class=\"dw-mod\""); 5843 5844 WriteLiteralTo(__razor_helper_writer, ">"); 5845 5846 5847 #line 1656 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5848 WriteTo(__razor_helper_writer, settings.Label); 5849 5850 5851 #line default 5852 #line hidden 5853 WriteLiteralTo(__razor_helper_writer, "</label>\r\n"); 5854 5855 5856 #line 1657 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5857 } 5858 5859 5860 #line default 5861 #line hidden 5862 WriteLiteralTo(__razor_helper_writer, " "); 5863 5864 5865 #line 1658 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5866 if (!string.IsNullOrEmpty(settings.HelpText)) 5867 { 5868 5869 5870 #line default 5871 #line hidden 5872 WriteLiteralTo(__razor_helper_writer, " <small"); 5873 5874 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text\""); 5875 5876 WriteLiteralTo(__razor_helper_writer, ">"); 5877 5878 5879 #line 1660 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5880 WriteTo(__razor_helper_writer, settings.HelpText); 5881 5882 5883 #line default 5884 #line hidden 5885 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 5886 5887 5888 #line 1661 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5889 } 5890 5891 5892 #line default 5893 #line hidden 5894 WriteLiteralTo(__razor_helper_writer, " "); 5895 5896 5897 #line 1662 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5898 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 5899 5900 5901 #line default 5902 #line hidden 5903 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 5904 5905 5906 #line 1664 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5907 5908 5909 #line default 5910 #line hidden 5911 }); 5912 5913 #line 1664 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5914 } 5915 #line default 5916 #line hidden 5917 5918 5919 #line 1672 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5920 public RazorEngine.Templating.TemplateWriter RenderRadioButtonListField(RadioButtonListField settings) 5921 { 5922 #line default 5923 #line hidden 5924 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 5925 5926 #line 1673 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5927 5928 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 5929 5930 5931 5932 #line default 5933 #line hidden 5934 WriteLiteralTo(__razor_helper_writer, " <div"); 5935 5936 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 65685), Tuple.Create("\"", 65759) 5937 , Tuple.Create(Tuple.Create("", 65693), Tuple.Create("form__field-group", 65693), true) 5938 5939 #line 1676 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5940 , Tuple.Create(Tuple.Create(" ", 65710), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 5941 5942 #line default 5943 #line hidden 5944 , 65711), false) 5945 , Tuple.Create(Tuple.Create(" ", 65736), Tuple.Create("u-margin-bottom", 65737), true) 5946 , Tuple.Create(Tuple.Create(" ", 65752), Tuple.Create("dw-mod", 65753), true) 5947 ); 5948 5949 WriteLiteralTo(__razor_helper_writer, " "); 5950 5951 5952 #line 1676 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5953 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 5954 5955 5956 #line default 5957 #line hidden 5958 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 5959 5960 5961 #line 1677 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5962 5963 5964 #line default 5965 #line hidden 5966 5967 #line 1677 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5968 if (!string.IsNullOrEmpty(settings.Label)) 5969 { 5970 5971 5972 #line default 5973 #line hidden 5974 WriteLiteralTo(__razor_helper_writer, " <label>"); 5975 5976 5977 #line 1679 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5978 WriteTo(__razor_helper_writer, settings.Label); 5979 5980 5981 #line default 5982 #line hidden 5983 WriteLiteralTo(__razor_helper_writer, "</label>\r\n"); 5984 5985 5986 #line 1680 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5987 } 5988 5989 5990 #line default 5991 #line hidden 5992 WriteLiteralTo(__razor_helper_writer, " "); 5993 5994 5995 #line 1681 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 5996 if (settings.Required) { 5997 5998 #line default 5999 #line hidden 6000 WriteLiteralTo(__razor_helper_writer, "<input"); 6001 6002 WriteLiteralTo(__razor_helper_writer, " type=\"radio\""); 6003 6004 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 65992), Tuple.Create("\"", 66013) 6005 6006 #line 1681 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6007 , Tuple.Create(Tuple.Create("", 65999), Tuple.Create<System.Object, System.Int32>(settings.Name 6008 6009 #line default 6010 #line hidden 6011 , 65999), false) 6012 ); 6013 6014 WriteLiteralTo(__razor_helper_writer, " class=\"u-visually-hidden hidden-required-input\""); 6015 6016 WriteLiteralTo(__razor_helper_writer, " required /> "); 6017 6018 6019 #line 1681 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6020 } 6021 6022 6023 #line default 6024 #line hidden 6025 WriteLiteralTo(__razor_helper_writer, "\r\n"); 6026 6027 6028 #line 1683 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6029 6030 6031 #line default 6032 #line hidden 6033 6034 #line 1683 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6035 if (!string.IsNullOrEmpty(settings.HelpText)) 6036 { 6037 6038 6039 #line default 6040 #line hidden 6041 WriteLiteralTo(__razor_helper_writer, " <small"); 6042 6043 WriteLiteralTo(__razor_helper_writer, " class=\"form__help-text\""); 6044 6045 WriteLiteralTo(__razor_helper_writer, ">"); 6046 6047 6048 #line 1685 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6049 WriteTo(__razor_helper_writer, settings.HelpText); 6050 6051 6052 #line default 6053 #line hidden 6054 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 6055 6056 6057 #line 1686 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6058 } 6059 6060 6061 #line default 6062 #line hidden 6063 WriteLiteralTo(__razor_helper_writer, " \r\n <div"); 6064 6065 WriteLiteralTo(__razor_helper_writer, " class=\"forms__fields-options\""); 6066 6067 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 6068 6069 6070 #line 1689 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6071 6072 6073 #line default 6074 #line hidden 6075 6076 #line 1689 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6077 foreach (var item in settings.Options) 6078 { 6079 if (settings.Disabled) 6080 { 6081 item.Disabled = true; 6082 } 6083 if (!string.IsNullOrEmpty(settings.Name)) 6084 { 6085 item.Name = settings.Name; 6086 } 6087 if (settings.Value != null && settings.Value == item.Value) 6088 { 6089 item.Checked = true; 6090 } 6091 if (!string.IsNullOrEmpty(settings.OnClick)) 6092 { 6093 item.OnClick += settings.OnClick; 6094 } 6095 if (!string.IsNullOrEmpty(settings.OnChange)) 6096 { 6097 item.OnChange += settings.OnChange; 6098 } 6099 if (!string.IsNullOrEmpty(settings.CssClass)) 6100 { 6101 item.CssClass += settings.CssClass; 6102 } 6103 6104 6105 #line default 6106 #line hidden 6107 6108 #line 1715 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6109 WriteTo(__razor_helper_writer, Render(item)); 6110 6111 6112 #line default 6113 #line hidden 6114 6115 #line 1715 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6116 6117 } 6118 6119 6120 #line default 6121 #line hidden 6122 WriteLiteralTo(__razor_helper_writer, " </div>\r\n \r\n"); 6123 6124 WriteLiteralTo(__razor_helper_writer, " "); 6125 6126 6127 #line 1719 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6128 WriteTo(__razor_helper_writer, Render(new NotificationMessage { Message = settings.ErrorMessage })); 6129 6130 6131 #line default 6132 #line hidden 6133 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 6134 6135 6136 #line 1721 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6137 6138 6139 #line default 6140 #line hidden 6141 }); 6142 6143 #line 1721 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6144 } 6145 #line default 6146 #line hidden 6147 6148 6149 #line 1729 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6150 public RazorEngine.Templating.TemplateWriter RenderNotificationMessage(NotificationMessage settings) 6151 { 6152 #line default 6153 #line hidden 6154 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 6155 6156 #line 1730 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6157 6158 if (!string.IsNullOrEmpty(settings.Message)) 6159 { 6160 var attributes = new Dictionary<string, string>(); 6161 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 6162 6163 string messageTypeClass = Enum.GetName(typeof(NotificationMessageType), settings.MessageType).ToLower(); 6164 string messageLayoutClass = Enum.GetName(typeof(NotificationMessageLayout), settings.MessageLayout).ToLower(); 6165 string minHeightClass = settings.Icon != null ? "u-min-h70px" : ""; 6166 6167 6168 6169 #line default 6170 #line hidden 6171 WriteLiteralTo(__razor_helper_writer, " <div"); 6172 6173 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 68156), Tuple.Create("\"", 68319) 6174 , Tuple.Create(Tuple.Create("", 68164), Tuple.Create("notification-message-", 68164), true) 6175 6176 #line 1740 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6177 , Tuple.Create(Tuple.Create("", 68185), Tuple.Create<System.Object, System.Int32>(messageTypeClass 6178 6179 #line default 6180 #line hidden 6181 , 68185), false) 6182 , Tuple.Create(Tuple.Create(" ", 68202), Tuple.Create("notification-message-", 68203), true) 6183 6184 #line 1740 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6185 , Tuple.Create(Tuple.Create("", 68224), Tuple.Create<System.Object, System.Int32>(messageLayoutClass 6186 6187 #line default 6188 #line hidden 6189 , 68224), false) 6190 6191 #line 1740 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6192 , Tuple.Create(Tuple.Create(" ", 68243), Tuple.Create<System.Object, System.Int32>(messageLayoutClass 6193 6194 #line default 6195 #line hidden 6196 , 68244), false) 6197 6198 #line 1740 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6199 , Tuple.Create(Tuple.Create(" ", 68263), Tuple.Create<System.Object, System.Int32>(minHeightClass 6200 6201 #line default 6202 #line hidden 6203 , 68264), false) 6204 6205 #line 1740 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6206 , Tuple.Create(Tuple.Create(" ", 68279), Tuple.Create<System.Object, System.Int32>(settings.CssClass 6207 6208 #line default 6209 #line hidden 6210 , 68280), false) 6211 , Tuple.Create(Tuple.Create(" ", 68298), Tuple.Create("u-full-width", 68299), true) 6212 , Tuple.Create(Tuple.Create(" ", 68311), Tuple.Create("dw-mod", 68313), true) 6213 ); 6214 6215 WriteLiteralTo(__razor_helper_writer, " "); 6216 6217 6218 #line 1740 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6219 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(attributes)); 6220 6221 6222 #line default 6223 #line hidden 6224 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 6225 6226 6227 #line 1741 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6228 6229 6230 #line default 6231 #line hidden 6232 6233 #line 1741 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6234 if (settings.Icon != null) { 6235 settings.Icon.Label = !string.IsNullOrEmpty(settings.Icon.Label) ? settings.Message + settings.Icon.Label : settings.Message; 6236 6237 6238 #line default 6239 #line hidden 6240 6241 #line 1743 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6242 WriteTo(__razor_helper_writer, Render(settings.Icon)); 6243 6244 6245 #line default 6246 #line hidden 6247 6248 #line 1743 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6249 6250 } else { 6251 6252 6253 #line default 6254 #line hidden 6255 6256 #line 1745 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6257 WriteTo(__razor_helper_writer, settings.Message); 6258 6259 6260 #line default 6261 #line hidden 6262 6263 #line 1745 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6264 6265 } 6266 6267 6268 #line default 6269 #line hidden 6270 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 6271 6272 6273 #line 1748 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6274 } 6275 6276 6277 #line default 6278 #line hidden 6279 }); 6280 6281 #line 1749 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6282 } 6283 #line default 6284 #line hidden 6285 6286 6287 #line 1755 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6288 public RazorEngine.Templating.TemplateWriter RenderHandlebarsRoot(HandlebarsRoot settings) { 6289 #line default 6290 #line hidden 6291 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 6292 6293 #line 1755 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6294 6295 string preRender = !String.IsNullOrEmpty(settings.PreRenderScriptTemplate) ? "data-pre-render-template=\"" + settings.PreRenderScriptTemplate + "\"" : ""; 6296 6297 6298 6299 #line default 6300 #line hidden 6301 WriteLiteralTo(__razor_helper_writer, " <div"); 6302 6303 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 68993), Tuple.Create("\"", 69045) 6304 6305 #line 1758 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6306 , Tuple.Create(Tuple.Create("", 69001), Tuple.Create<System.Object, System.Int32>(settings.CssClass 6307 6308 #line default 6309 #line hidden 6310 , 69001), false) 6311 , Tuple.Create(Tuple.Create(" ", 69019), Tuple.Create("dw-mod", 69020), true) 6312 , Tuple.Create(Tuple.Create(" ", 69026), Tuple.Create("js-handlebars-root", 69027), true) 6313 ); 6314 6315 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 69046), Tuple.Create("\"", 69063) 6316 6317 #line 1758 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6318 , Tuple.Create(Tuple.Create("", 69051), Tuple.Create<System.Object, System.Int32>(settings.Id 6319 6320 #line default 6321 #line hidden 6322 , 69051), false) 6323 ); 6324 6325 WriteLiteralTo(__razor_helper_writer, " data-template=\""); 6326 6327 6328 #line 1758 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6329 WriteTo(__razor_helper_writer, settings.ScriptTemplate); 6330 6331 6332 #line default 6333 #line hidden 6334 WriteLiteralTo(__razor_helper_writer, "\""); 6335 6336 WriteLiteralTo(__razor_helper_writer, " data-json-feed=\""); 6337 6338 6339 #line 1758 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6340 WriteTo(__razor_helper_writer, settings.FeedUrl); 6341 6342 6343 #line default 6344 #line hidden 6345 WriteLiteralTo(__razor_helper_writer, "\""); 6346 6347 WriteLiteralTo(__razor_helper_writer, " data-init-onload=\""); 6348 6349 6350 #line 1758 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6351 WriteTo(__razor_helper_writer, settings.InitOnLoad.ToString()); 6352 6353 6354 #line default 6355 #line hidden 6356 WriteLiteralTo(__razor_helper_writer, "\""); 6357 6358 WriteLiteralTo(__razor_helper_writer, " data-preloader=\""); 6359 6360 6361 #line 1758 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6362 WriteTo(__razor_helper_writer, settings.Preloader); 6363 6364 6365 #line default 6366 #line hidden 6367 WriteLiteralTo(__razor_helper_writer, "\""); 6368 6369 WriteLiteralTo(__razor_helper_writer, " "); 6370 6371 6372 #line 1758 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6373 WriteTo(__razor_helper_writer, preRender); 6374 6375 6376 #line default 6377 #line hidden 6378 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 6379 6380 6381 #line 1759 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6382 6383 6384 #line default 6385 #line hidden 6386 6387 #line 1759 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6388 if (settings.SubBlocks != null) { 6389 6390 6391 #line default 6392 #line hidden 6393 6394 #line 1760 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6395 WriteTo(__razor_helper_writer, RenderBlockList(settings.SubBlocks)); 6396 6397 6398 #line default 6399 #line hidden 6400 6401 #line 1760 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6402 6403 } 6404 6405 6406 #line default 6407 #line hidden 6408 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 6409 6410 6411 #line 1763 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6412 6413 6414 #line default 6415 #line hidden 6416 }); 6417 6418 #line 1763 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6419 } 6420 #line default 6421 #line hidden 6422 6423 6424 #line 1772 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6425 public RazorEngine.Templating.TemplateWriter RenderSticker(Sticker settings) { 6426 #line default 6427 #line hidden 6428 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 6429 6430 #line 1772 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6431 6432 if (!String.IsNullOrEmpty(settings.Title)) { 6433 string size = settings.Size.ToString() != "None" ? "" + "stickers-container__tag--" + settings.Size.ToString().ToLower() : ""; 6434 string style = settings.Style.ToString() != "None" ? "" + "stickers-container__tag--" + settings.Style.ToString().ToLower() : ""; 6435 6436 Dictionary<String, String> optionalAttributes = new Dictionary<string, string>(); 6437 if (!String.IsNullOrEmpty(settings.Color) || !String.IsNullOrEmpty(settings.BackgroundColor)) { 6438 string styleTag = !String.IsNullOrEmpty(settings.Color) ? "color: " + settings.Color + "; " : ""; 6439 styleTag += !String.IsNullOrEmpty(settings.BackgroundColor) ? "background-color: " + settings.BackgroundColor + "; " : ""; 6440 optionalAttributes.Add("style", styleTag); 6441 } 6442 6443 6444 6445 #line default 6446 #line hidden 6447 WriteLiteralTo(__razor_helper_writer, " <div"); 6448 6449 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 70440), Tuple.Create("\"", 70510) 6450 , Tuple.Create(Tuple.Create("", 70448), Tuple.Create("stickers-container__tag", 70448), true) 6451 6452 #line 1784 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6453 , Tuple.Create(Tuple.Create(" ", 70471), Tuple.Create<System.Object, System.Int32>(size 6454 6455 #line default 6456 #line hidden 6457 , 70472), false) 6458 6459 #line 1784 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6460 , Tuple.Create(Tuple.Create(" ", 70477), Tuple.Create<System.Object, System.Int32>(style 6461 6462 #line default 6463 #line hidden 6464 , 70478), false) 6465 6466 #line 1784 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6467 , Tuple.Create(Tuple.Create(" ", 70484), Tuple.Create<System.Object, System.Int32>(settings.CssClass 6468 6469 #line default 6470 #line hidden 6471 , 70485), false) 6472 , Tuple.Create(Tuple.Create(" ", 70503), Tuple.Create("dw-mod", 70504), true) 6473 ); 6474 6475 WriteLiteralTo(__razor_helper_writer, " "); 6476 6477 6478 #line 1784 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6479 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(optionalAttributes)); 6480 6481 6482 #line default 6483 #line hidden 6484 WriteLiteralTo(__razor_helper_writer, " "); 6485 6486 6487 #line 1784 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6488 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 6489 6490 6491 #line default 6492 #line hidden 6493 WriteLiteralTo(__razor_helper_writer, ">"); 6494 6495 6496 #line 1784 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6497 WriteTo(__razor_helper_writer, settings.Title); 6498 6499 6500 #line default 6501 #line hidden 6502 WriteLiteralTo(__razor_helper_writer, "</div> \r\n"); 6503 6504 6505 #line 1785 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6506 } 6507 6508 6509 #line default 6510 #line hidden 6511 }); 6512 6513 #line 1786 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6514 } 6515 #line default 6516 #line hidden 6517 6518 6519 #line 1795 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6520 public RazorEngine.Templating.TemplateWriter RenderStickersCollection(StickersCollection settings) 6521 { 6522 #line default 6523 #line hidden 6524 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 6525 6526 #line 1796 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6527 6528 if (settings.Stickers.Count > 0) 6529 { 6530 string position = "stickers-container--" + Regex.Replace(settings.Position.ToString(), "([a-z])([A-Z])", "$1-$2").ToLower(); 6531 6532 6533 6534 #line default 6535 #line hidden 6536 WriteLiteralTo(__razor_helper_writer, " <div"); 6537 6538 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 71065), Tuple.Create("\"", 71127) 6539 , Tuple.Create(Tuple.Create("", 71073), Tuple.Create("stickers-container", 71073), true) 6540 6541 #line 1801 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6542 , Tuple.Create(Tuple.Create(" ", 71091), Tuple.Create<System.Object, System.Int32>(position 6543 6544 #line default 6545 #line hidden 6546 , 71092), false) 6547 6548 #line 1801 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6549 , Tuple.Create(Tuple.Create(" ", 71101), Tuple.Create<System.Object, System.Int32>(settings.CssClass 6550 6551 #line default 6552 #line hidden 6553 , 71102), false) 6554 , Tuple.Create(Tuple.Create(" ", 71120), Tuple.Create("dw-mod", 71121), true) 6555 ); 6556 6557 WriteLiteralTo(__razor_helper_writer, " "); 6558 6559 6560 #line 1801 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6561 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 6562 6563 6564 #line default 6565 #line hidden 6566 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 6567 6568 6569 #line 1802 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6570 6571 6572 #line default 6573 #line hidden 6574 6575 #line 1802 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6576 foreach (Sticker sticker in settings.Stickers) 6577 { 6578 6579 6580 #line default 6581 #line hidden 6582 6583 #line 1804 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6584 WriteTo(__razor_helper_writer, Render(sticker)); 6585 6586 6587 #line default 6588 #line hidden 6589 6590 #line 1804 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6591 6592 } 6593 6594 6595 #line default 6596 #line hidden 6597 WriteLiteralTo(__razor_helper_writer, " </div> \r\n"); 6598 6599 6600 #line 1807 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6601 } 6602 6603 6604 #line default 6605 #line hidden 6606 }); 6607 6608 #line 1808 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6609 } 6610 #line default 6611 #line hidden 6612 6613 6614 #line 1815 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6615 public RazorEngine.Templating.TemplateWriter RenderForm(Form settings) { 6616 #line default 6617 #line hidden 6618 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 6619 6620 #line 1815 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6621 6622 if (settings != null) 6623 { 6624 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 6625 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); }; 6626 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); }; 6627 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); }; 6628 var enctypes = new Dictionary<string, string> 6629 { 6630 { "multipart", "multipart/form-data" }, 6631 { "text", "text/plain" }, 6632 { "application", "application/x-www-form-urlencoded" } 6633 }; 6634 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); }; 6635 optionalAttributes.Add("method", settings.Method.ToString()); 6636 6637 if (!string.IsNullOrEmpty(settings.FormStartMarkup)) 6638 { 6639 6640 6641 #line default 6642 #line hidden 6643 6644 #line 1833 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6645 WriteTo(__razor_helper_writer, settings.FormStartMarkup); 6646 6647 6648 #line default 6649 #line hidden 6650 6651 #line 1833 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6652 6653 } 6654 else 6655 { 6656 6657 6658 #line default 6659 #line hidden 6660 WriteLiteralTo(__razor_helper_writer, " "); 6661 6662 WriteLiteralTo(__razor_helper_writer, "<form class=\""); 6663 6664 6665 #line 1837 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6666 WriteTo(__razor_helper_writer, settings.CssClass); 6667 6668 6669 #line default 6670 #line hidden 6671 WriteLiteralTo(__razor_helper_writer, " u-no-margin dw-mod\" "); 6672 6673 6674 #line 1837 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6675 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(optionalAttributes)); 6676 6677 6678 #line default 6679 #line hidden 6680 WriteLiteralTo(__razor_helper_writer, " "); 6681 6682 6683 #line 1837 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6684 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 6685 6686 6687 #line default 6688 #line hidden 6689 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 6690 6691 6692 #line 1838 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6693 } 6694 6695 foreach (var field in settings.GetFields()) 6696 { 6697 6698 6699 #line default 6700 #line hidden 6701 6702 #line 1842 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6703 WriteTo(__razor_helper_writer, Render(field)); 6704 6705 6706 #line default 6707 #line hidden 6708 6709 #line 1842 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6710 6711 } 6712 6713 6714 6715 #line default 6716 #line hidden 6717 WriteLiteralTo(__razor_helper_writer, " "); 6718 6719 WriteLiteralTo(__razor_helper_writer, "</form>\r\n"); 6720 6721 6722 #line 1846 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6723 } 6724 6725 6726 #line default 6727 #line hidden 6728 }); 6729 6730 #line 1847 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6731 } 6732 #line default 6733 #line hidden 6734 6735 6736 #line 1855 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6737 public RazorEngine.Templating.TemplateWriter RenderText(Text settings) 6738 { 6739 #line default 6740 #line hidden 6741 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 6742 6743 #line 1856 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6744 6745 6746 6747 #line default 6748 #line hidden 6749 6750 #line 1857 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6751 WriteTo(__razor_helper_writer, settings.Content); 6752 6753 6754 #line default 6755 #line hidden 6756 6757 #line 1857 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6758 6759 6760 6761 #line default 6762 #line hidden 6763 }); 6764 6765 #line 1858 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6766 } 6767 #line default 6768 #line hidden 6769 6770 6771 #line 1866 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6772 public RazorEngine.Templating.TemplateWriter RenderContentModule(ContentModule settings) { 6773 #line default 6774 #line hidden 6775 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 6776 6777 #line 1866 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6778 6779 if (!string.IsNullOrEmpty(settings.Content)) 6780 { 6781 6782 6783 #line default 6784 #line hidden 6785 6786 #line 1869 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6787 WriteTo(__razor_helper_writer, settings.Content); 6788 6789 6790 #line default 6791 #line hidden 6792 6793 #line 1869 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6794 6795 } 6796 6797 6798 #line default 6799 #line hidden 6800 }); 6801 6802 #line 1871 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6803 } 6804 #line default 6805 #line hidden 6806 6807 6808 #line 1879 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6809 public RazorEngine.Templating.TemplateWriter RenderModal(Modal settings) { 6810 #line default 6811 #line hidden 6812 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 6813 6814 #line 1879 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6815 6816 if (settings != null) 6817 { 6818 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 6819 6820 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : ""; 6821 6822 6823 6824 #line default 6825 #line hidden 6826 WriteLiteralTo(__razor_helper_writer, " <input"); 6827 6828 WriteLiteralTo(__razor_helper_writer, " type=\"checkbox\""); 6829 6830 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 73854), Tuple.Create("\"", 73881) 6831 6832 #line 1886 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6833 , Tuple.Create(Tuple.Create("", 73859), Tuple.Create<System.Object, System.Int32>(modalId 6834 6835 #line default 6836 #line hidden 6837 , 73859), false) 6838 , Tuple.Create(Tuple.Create("", 73869), Tuple.Create("ModalTrigger", 73869), true) 6839 ); 6840 6841 WriteLiteralTo(__razor_helper_writer, " class=\"modal-trigger\""); 6842 6843 WriteLiteralTo(__razor_helper_writer, " "); 6844 6845 6846 #line 1886 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6847 WriteTo(__razor_helper_writer, onchange); 6848 6849 6850 #line default 6851 #line hidden 6852 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 6853 6854 6855 #line 1887 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6856 6857 6858 6859 #line default 6860 #line hidden 6861 WriteLiteralTo(__razor_helper_writer, " <div"); 6862 6863 WriteLiteralTo(__razor_helper_writer, " class=\"modal-container\""); 6864 6865 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 6866 6867 6868 #line 1889 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6869 6870 6871 #line default 6872 #line hidden 6873 6874 #line 1889 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6875 if (!settings.DisableDarkOverlay) 6876 { 6877 6878 6879 #line default 6880 #line hidden 6881 WriteLiteralTo(__razor_helper_writer, " <label"); 6882 6883 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 74045), Tuple.Create("\"", 74073) 6884 6885 #line 1891 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6886 , Tuple.Create(Tuple.Create("", 74051), Tuple.Create<System.Object, System.Int32>(modalId 6887 6888 #line default 6889 #line hidden 6890 , 74051), false) 6891 , Tuple.Create(Tuple.Create("", 74061), Tuple.Create("ModalTrigger", 74061), true) 6892 ); 6893 6894 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 74074), Tuple.Create("\"", 74101) 6895 6896 #line 1891 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6897 , Tuple.Create(Tuple.Create("", 74079), Tuple.Create<System.Object, System.Int32>(modalId 6898 6899 #line default 6900 #line hidden 6901 , 74079), false) 6902 , Tuple.Create(Tuple.Create("", 74089), Tuple.Create("ModalOverlay", 74089), true) 6903 ); 6904 6905 WriteLiteralTo(__razor_helper_writer, " class=\"modal-overlay\""); 6906 6907 WriteLiteralTo(__razor_helper_writer, "></label>\r\n"); 6908 6909 6910 #line 1892 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6911 } 6912 6913 6914 #line default 6915 #line hidden 6916 WriteLiteralTo(__razor_helper_writer, " <div"); 6917 6918 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 74166), Tuple.Create("\"", 74275) 6919 , Tuple.Create(Tuple.Create("", 74174), Tuple.Create("modal", 74174), true) 6920 , Tuple.Create(Tuple.Create(" ", 74179), Tuple.Create("modal--", 74180), true) 6921 6922 #line 1893 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6923 , Tuple.Create(Tuple.Create("", 74187), Tuple.Create<System.Object, System.Int32>(settings.Width.ToString().ToLower() 6924 6925 #line default 6926 #line hidden 6927 , 74187), false) 6928 , Tuple.Create(Tuple.Create(" ", 74223), Tuple.Create("modal-height--", 74224), true) 6929 6930 #line 1893 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6931 , Tuple.Create(Tuple.Create("", 74238), Tuple.Create<System.Object, System.Int32>(settings.Height.ToString().ToLower() 6932 6933 #line default 6934 #line hidden 6935 , 74238), false) 6936 ); 6937 6938 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 74276), Tuple.Create("\"", 74296) 6939 6940 #line 1893 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6941 , Tuple.Create(Tuple.Create("", 74281), Tuple.Create<System.Object, System.Int32>(modalId 6942 6943 #line default 6944 #line hidden 6945 , 74281), false) 6946 , Tuple.Create(Tuple.Create("", 74291), Tuple.Create("Modal", 74291), true) 6947 ); 6948 6949 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 6950 6951 6952 #line 1894 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6953 6954 6955 #line default 6956 #line hidden 6957 6958 #line 1894 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6959 if (settings.Heading != null) 6960 { 6961 if (!string.IsNullOrEmpty(settings.Heading.Title)) 6962 { 6963 6964 6965 #line default 6966 #line hidden 6967 WriteLiteralTo(__razor_helper_writer, " <div"); 6968 6969 WriteLiteralTo(__razor_helper_writer, " class=\"modal__header\""); 6970 6971 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 6972 6973 WriteLiteralTo(__razor_helper_writer, " "); 6974 6975 6976 #line 1899 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6977 WriteTo(__razor_helper_writer, Render(settings.Heading)); 6978 6979 6980 #line default 6981 #line hidden 6982 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 6983 6984 6985 #line 1901 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6986 } 6987 } 6988 6989 6990 #line default 6991 #line hidden 6992 WriteLiteralTo(__razor_helper_writer, " <div"); 6993 6994 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 74664), Tuple.Create("\"", 74759) 6995 , Tuple.Create(Tuple.Create("", 74672), Tuple.Create("modal__body", 74672), true) 6996 6997 #line 1903 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 6998 , Tuple.Create(Tuple.Create(" ", 74683), Tuple.Create<System.Object, System.Int32>(settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "" 6999 7000 #line default 7001 #line hidden 7002 , 74684), false) 7003 ); 7004 7005 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7006 7007 7008 #line 1904 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7009 7010 7011 #line default 7012 #line hidden 7013 7014 #line 1904 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7015 if (!string.IsNullOrEmpty(settings.BodyText)) 7016 { 7017 7018 7019 #line default 7020 #line hidden 7021 7022 #line 1906 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7023 WriteTo(__razor_helper_writer, settings.BodyText); 7024 7025 7026 #line default 7027 #line hidden 7028 7029 #line 1906 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7030 7031 } 7032 7033 7034 #line default 7035 #line hidden 7036 WriteLiteralTo(__razor_helper_writer, " "); 7037 7038 7039 #line 1908 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7040 if (settings.BodyTemplate != null) 7041 { 7042 7043 7044 #line default 7045 #line hidden 7046 7047 #line 1910 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7048 WriteTo(__razor_helper_writer, settings.BodyTemplate); 7049 7050 7051 #line default 7052 #line hidden 7053 7054 #line 1910 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7055 7056 } 7057 7058 7059 #line default 7060 #line hidden 7061 WriteLiteralTo(__razor_helper_writer, " "); 7062 7063 7064 #line 1912 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7065 7066 var actions = settings.GetActions(); 7067 7068 7069 #line default 7070 #line hidden 7071 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 7072 7073 7074 #line 1916 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7075 7076 7077 #line default 7078 #line hidden 7079 7080 #line 1916 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7081 if (actions.Length > 0) 7082 { 7083 7084 7085 #line default 7086 #line hidden 7087 WriteLiteralTo(__razor_helper_writer, " <div"); 7088 7089 WriteLiteralTo(__razor_helper_writer, " class=\"modal__footer\""); 7090 7091 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7092 7093 7094 #line 1919 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7095 7096 7097 #line default 7098 #line hidden 7099 7100 #line 1919 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7101 foreach (var action in actions) 7102 { 7103 if (Pageview.Device.ToString() != "Mobile") { 7104 action.CssClass += " u-no-margin"; 7105 } else { 7106 action.CssClass += " u-full-width u-margin-bottom"; 7107 } 7108 7109 7110 7111 #line default 7112 #line hidden 7113 7114 #line 1927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7115 WriteTo(__razor_helper_writer, Render(action)); 7116 7117 7118 #line default 7119 #line hidden 7120 7121 #line 1927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7122 7123 } 7124 7125 7126 #line default 7127 #line hidden 7128 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 7129 7130 7131 #line 1930 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7132 } 7133 7134 7135 #line default 7136 #line hidden 7137 WriteLiteralTo(__razor_helper_writer, " <label"); 7138 7139 WriteLiteralTo(__razor_helper_writer, " class=\"modal__close-btn\""); 7140 7141 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 75865), Tuple.Create("\"", 75893) 7142 7143 #line 1931 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7144 , Tuple.Create(Tuple.Create("", 75871), Tuple.Create<System.Object, System.Int32>(modalId 7145 7146 #line default 7147 #line hidden 7148 , 75871), false) 7149 , Tuple.Create(Tuple.Create("", 75881), Tuple.Create("ModalTrigger", 75881), true) 7150 ); 7151 7152 WriteLiteralTo(__razor_helper_writer, "></label>\r\n </div>\r\n </div>\r\n"); 7153 7154 7155 #line 1934 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7156 } 7157 7158 7159 #line default 7160 #line hidden 7161 }); 7162 7163 #line 1935 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7164 } 7165 #line default 7166 #line hidden 7167 7168 7169 #line 1940 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7170 public RazorEngine.Templating.TemplateWriter RenderMediaListItem(MediaListItem settings) 7171 { 7172 #line default 7173 #line hidden 7174 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 7175 7176 #line 1941 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7177 7178 7179 7180 #line default 7181 #line hidden 7182 WriteLiteralTo(__razor_helper_writer, " <div"); 7183 7184 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 76089), Tuple.Create("\"", 76138) 7185 , Tuple.Create(Tuple.Create("", 76097), Tuple.Create("media-list-item", 76097), true) 7186 7187 #line 1942 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7188 , Tuple.Create(Tuple.Create(" ", 76112), Tuple.Create<System.Object, System.Int32>(settings.CssClass 7189 7190 #line default 7191 #line hidden 7192 , 76113), false) 7193 , Tuple.Create(Tuple.Create(" ", 76131), Tuple.Create("dw-mod", 76132), true) 7194 ); 7195 7196 WriteLiteralTo(__razor_helper_writer, " "); 7197 7198 7199 #line 1942 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7200 WriteTo(__razor_helper_writer, !string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : ""); 7201 7202 7203 #line default 7204 #line hidden 7205 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7206 7207 7208 #line 1943 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7209 7210 7211 #line default 7212 #line hidden 7213 7214 #line 1943 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7215 if (!string.IsNullOrEmpty(settings.Label)) 7216 { 7217 if (!string.IsNullOrEmpty(settings.Link)) 7218 { 7219 7220 7221 #line default 7222 #line hidden 7223 7224 #line 1947 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7225 WriteTo(__razor_helper_writer, Render(new Link 7226 { 7227 Href = settings.Link, 7228 CssClass = "media-list-item__sticker dw-mod", 7229 ButtonLayout = ButtonLayout.None, 7230 Title = settings.Label, 7231 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 7232 })); 7233 7234 7235 #line default 7236 #line hidden 7237 7238 #line 1954 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7239 7240 } 7241 else if (!string.IsNullOrEmpty(settings.OnClick)) 7242 { 7243 7244 7245 #line default 7246 #line hidden 7247 WriteLiteralTo(__razor_helper_writer, " <span"); 7248 7249 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__sticker dw-mod\""); 7250 7251 WriteAttributeTo(__razor_helper_writer, "onclick", Tuple.Create(" onclick=\"", 76882), Tuple.Create("\"", 76911) 7252 7253 #line 1958 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7254 , Tuple.Create(Tuple.Create("", 76892), Tuple.Create<System.Object, System.Int32>(settings.OnClick 7255 7256 #line default 7257 #line hidden 7258 , 76892), false) 7259 ); 7260 7261 WriteLiteralTo(__razor_helper_writer, ">\r\n <span"); 7262 7263 WriteLiteralTo(__razor_helper_writer, " class=\"u-uppercase\""); 7264 7265 WriteLiteralTo(__razor_helper_writer, ">"); 7266 7267 7268 #line 1959 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7269 WriteTo(__razor_helper_writer, settings.Label); 7270 7271 7272 #line default 7273 #line hidden 7274 WriteLiteralTo(__razor_helper_writer, "</span>\r\n </span>\r\n"); 7275 7276 7277 #line 1961 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7278 } 7279 else 7280 { 7281 7282 7283 #line default 7284 #line hidden 7285 WriteLiteralTo(__razor_helper_writer, " <span"); 7286 7287 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__sticker media-list-item__sticker--no-link dw-mod\""); 7288 7289 WriteLiteralTo(__razor_helper_writer, ">\r\n <span"); 7290 7291 WriteLiteralTo(__razor_helper_writer, " class=\"u-uppercase\""); 7292 7293 WriteLiteralTo(__razor_helper_writer, ">"); 7294 7295 7296 #line 1965 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7297 WriteTo(__razor_helper_writer, settings.Label); 7298 7299 7300 #line default 7301 #line hidden 7302 WriteLiteralTo(__razor_helper_writer, "</span>\r\n </span>\r\n"); 7303 7304 7305 #line 1967 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7306 } 7307 } 7308 7309 7310 #line default 7311 #line hidden 7312 WriteLiteralTo(__razor_helper_writer, " <div"); 7313 7314 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__wrap\""); 7315 7316 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 7317 7318 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__info dw-mod\""); 7319 7320 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 7321 7322 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__header dw-mod\""); 7323 7324 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7325 7326 7327 #line 1972 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7328 7329 7330 #line default 7331 #line hidden 7332 7333 #line 1972 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7334 if (!string.IsNullOrEmpty(settings.Title)) 7335 { 7336 if (!string.IsNullOrEmpty(settings.Link)) 7337 { 7338 7339 7340 #line default 7341 #line hidden 7342 7343 #line 1976 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7344 WriteTo(__razor_helper_writer, Render(new Link 7345 { 7346 Href = settings.Link, 7347 CssClass = "media-list-item__name dw-mod", 7348 ButtonLayout = ButtonLayout.None, 7349 Title = settings.Title, 7350 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 7351 })); 7352 7353 7354 #line default 7355 #line hidden 7356 7357 #line 1983 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7358 7359 } 7360 else if (!string.IsNullOrEmpty(settings.OnClick)) 7361 { 7362 7363 7364 #line default 7365 #line hidden 7366 WriteLiteralTo(__razor_helper_writer, " <span"); 7367 7368 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__name dw-mod\""); 7369 7370 WriteAttributeTo(__razor_helper_writer, "onclick", Tuple.Create(" onclick=\"", 78292), Tuple.Create("\"", 78321) 7371 7372 #line 1987 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7373 , Tuple.Create(Tuple.Create("", 78302), Tuple.Create<System.Object, System.Int32>(settings.OnClick 7374 7375 #line default 7376 #line hidden 7377 , 78302), false) 7378 ); 7379 7380 WriteLiteralTo(__razor_helper_writer, ">"); 7381 7382 7383 #line 1987 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7384 WriteTo(__razor_helper_writer, settings.Title); 7385 7386 7387 #line default 7388 #line hidden 7389 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 7390 7391 7392 #line 1988 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7393 } 7394 else 7395 { 7396 7397 7398 #line default 7399 #line hidden 7400 WriteLiteralTo(__razor_helper_writer, " <span"); 7401 7402 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__name media-list-item__name--no-link dw-mod\""); 7403 7404 WriteLiteralTo(__razor_helper_writer, ">"); 7405 7406 7407 #line 1991 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7408 WriteTo(__razor_helper_writer, settings.Title); 7409 7410 7411 #line default 7412 #line hidden 7413 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 7414 7415 7416 #line 1992 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7417 } 7418 } 7419 7420 7421 #line default 7422 #line hidden 7423 WriteLiteralTo(__razor_helper_writer, "\r\n"); 7424 7425 7426 #line 1995 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7427 7428 7429 #line default 7430 #line hidden 7431 7432 #line 1995 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7433 if (!string.IsNullOrEmpty(settings.Status)) 7434 { 7435 7436 7437 #line default 7438 #line hidden 7439 WriteLiteralTo(__razor_helper_writer, " <div"); 7440 7441 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__state dw-mod\""); 7442 7443 WriteLiteralTo(__razor_helper_writer, ">"); 7444 7445 7446 #line 1997 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7447 WriteTo(__razor_helper_writer, settings.Status); 7448 7449 7450 #line default 7451 #line hidden 7452 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 7453 7454 7455 #line 1998 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7456 } 7457 7458 7459 #line default 7460 #line hidden 7461 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 7462 7463 7464 #line 2000 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7465 7466 7467 #line default 7468 #line hidden 7469 7470 #line 2000 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7471 7472 settings.InfoTable.CssClass += " media-list-item__parameters-table"; 7473 7474 7475 #line default 7476 #line hidden 7477 WriteLiteralTo(__razor_helper_writer, "\r\n \r\n"); 7478 7479 WriteLiteralTo(__razor_helper_writer, " "); 7480 7481 7482 #line 2004 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7483 WriteTo(__razor_helper_writer, Render(settings.InfoTable)); 7484 7485 7486 #line default 7487 #line hidden 7488 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n <div"); 7489 7490 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__actions dw-mod\""); 7491 7492 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 7493 7494 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__actions-list dw-mod\""); 7495 7496 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7497 7498 7499 #line 2008 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7500 7501 7502 #line default 7503 #line hidden 7504 7505 #line 2008 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7506 7507 var actions = settings.GetActions(); 7508 7509 foreach (ButtonBase action in actions) 7510 { 7511 action.ButtonLayout = ButtonLayout.None; 7512 action.CssClass += " media-list-item__action link"; 7513 7514 7515 7516 #line default 7517 #line hidden 7518 7519 #line 2016 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7520 WriteTo(__razor_helper_writer, Render(action)); 7521 7522 7523 #line default 7524 #line hidden 7525 7526 #line 2016 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7527 7528 } 7529 7530 7531 #line default 7532 #line hidden 7533 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n\r\n"); 7534 7535 7536 #line 2021 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7537 7538 7539 #line default 7540 #line hidden 7541 7542 #line 2021 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7543 if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title)) 7544 { 7545 settings.SelectButton.CssClass += " u-no-margin"; 7546 7547 7548 7549 #line default 7550 #line hidden 7551 WriteLiteralTo(__razor_helper_writer, " <div"); 7552 7553 WriteLiteralTo(__razor_helper_writer, " class=\"media-list-item__action-button\""); 7554 7555 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7556 7557 WriteLiteralTo(__razor_helper_writer, " "); 7558 7559 7560 #line 2026 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7561 WriteTo(__razor_helper_writer, Render(settings.SelectButton)); 7562 7563 7564 #line default 7565 #line hidden 7566 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 7567 7568 7569 #line 2028 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7570 } 7571 7572 7573 #line default 7574 #line hidden 7575 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </div>\r\n </div>\r\n"); 7576 7577 7578 #line 2032 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7579 7580 7581 #line default 7582 #line hidden 7583 }); 7584 7585 #line 2032 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7586 } 7587 #line default 7588 #line hidden 7589 7590 7591 #line 2036 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7592 public RazorEngine.Templating.TemplateWriter RenderTable(Table settings) 7593 { 7594 #line default 7595 #line hidden 7596 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 7597 7598 #line 2037 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7599 7600 Dictionary<string, string> attributes = new Dictionary<string, string>(); 7601 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 7602 7603 var enumToClasses = new Dictionary<TableDesign, string> 7604 { 7605 { TableDesign.Clean, "table--clean" }, 7606 { TableDesign.Bordered, "table--bordered" }, 7607 { TableDesign.Striped, "table--striped" }, 7608 { TableDesign.Hover, "table--hover" }, 7609 { TableDesign.Compact, "table--compact" }, 7610 { TableDesign.Condensed, "table--condensed" }, 7611 { TableDesign.NoTopBorder, "table--no-top-border" } 7612 }; 7613 string tableDesignClass = ""; 7614 if (settings.Design != TableDesign.None) 7615 { 7616 tableDesignClass = enumToClasses[settings.Design]; 7617 } 7618 7619 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); } 7620 7621 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 7622 7623 7624 7625 #line default 7626 #line hidden 7627 WriteLiteralTo(__razor_helper_writer, " <table "); 7628 7629 7630 #line 2061 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7631 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 7632 7633 7634 #line default 7635 #line hidden 7636 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7637 7638 7639 #line 2062 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7640 7641 7642 #line default 7643 #line hidden 7644 7645 #line 2062 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7646 if (settings.Header != null) 7647 { 7648 7649 7650 #line default 7651 #line hidden 7652 WriteLiteralTo(__razor_helper_writer, " <thead>\r\n"); 7653 7654 WriteLiteralTo(__razor_helper_writer, " "); 7655 7656 7657 #line 2065 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7658 WriteTo(__razor_helper_writer, Render(settings.Header)); 7659 7660 7661 #line default 7662 #line hidden 7663 WriteLiteralTo(__razor_helper_writer, "\r\n </thead>\r\n"); 7664 7665 7666 #line 2067 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7667 } 7668 7669 7670 #line default 7671 #line hidden 7672 WriteLiteralTo(__razor_helper_writer, " <tbody>\r\n"); 7673 7674 7675 #line 2069 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7676 7677 7678 #line default 7679 #line hidden 7680 7681 #line 2069 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7682 foreach (var row in settings.Rows) 7683 { 7684 7685 7686 #line default 7687 #line hidden 7688 7689 #line 2071 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7690 WriteTo(__razor_helper_writer, Render(row)); 7691 7692 7693 #line default 7694 #line hidden 7695 7696 #line 2071 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7697 7698 } 7699 7700 7701 #line default 7702 #line hidden 7703 WriteLiteralTo(__razor_helper_writer, " </tbody>\r\n"); 7704 7705 7706 #line 2074 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7707 7708 7709 #line default 7710 #line hidden 7711 7712 #line 2074 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7713 if (settings.Footer != null) 7714 { 7715 7716 7717 #line default 7718 #line hidden 7719 WriteLiteralTo(__razor_helper_writer, " <tfoot>\r\n"); 7720 7721 WriteLiteralTo(__razor_helper_writer, " "); 7722 7723 7724 #line 2077 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7725 WriteTo(__razor_helper_writer, Render(settings.Footer)); 7726 7727 7728 #line default 7729 #line hidden 7730 WriteLiteralTo(__razor_helper_writer, "\r\n </tfoot>\r\n"); 7731 7732 7733 #line 2079 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7734 } 7735 7736 7737 #line default 7738 #line hidden 7739 WriteLiteralTo(__razor_helper_writer, " </table>\r\n"); 7740 7741 7742 #line 2081 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7743 7744 7745 #line default 7746 #line hidden 7747 }); 7748 7749 #line 2081 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7750 } 7751 #line default 7752 #line hidden 7753 7754 7755 #line 2085 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7756 public RazorEngine.Templating.TemplateWriter RenderTableRow(TableRow settings) 7757 { 7758 #line default 7759 #line hidden 7760 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 7761 7762 #line 2086 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7763 7764 Dictionary<string, string> attributes = new Dictionary<string, string>(); 7765 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 7766 7767 var enumToClasses = new Dictionary<TableRowDesign, string> 7768 { 7769 { TableRowDesign.NoBorder, "table__row--no-border" }, 7770 { TableRowDesign.Border, "table__row--border" }, 7771 { TableRowDesign.TopBorder, "table__row--top-line" }, 7772 { TableRowDesign.BottomBorder, "table__row--bottom-line" }, 7773 { TableRowDesign.Solid, "table__row--solid" } 7774 }; 7775 7776 string tableRowDesignClass = ""; 7777 if (settings.Design != TableRowDesign.None) 7778 { 7779 tableRowDesignClass = enumToClasses[settings.Design]; 7780 } 7781 7782 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); } 7783 7784 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 7785 7786 7787 7788 #line default 7789 #line hidden 7790 WriteLiteralTo(__razor_helper_writer, " <tr "); 7791 7792 7793 #line 2109 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7794 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 7795 7796 7797 #line default 7798 #line hidden 7799 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7800 7801 7802 #line 2110 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7803 7804 7805 #line default 7806 #line hidden 7807 7808 #line 2110 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7809 foreach (var cell in settings.Cells) 7810 { 7811 if (settings.IsHeaderRow) 7812 { 7813 cell.IsHeader = true; 7814 } 7815 7816 7817 #line default 7818 #line hidden 7819 7820 #line 2116 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7821 WriteTo(__razor_helper_writer, Render(cell)); 7822 7823 7824 #line default 7825 #line hidden 7826 7827 #line 2116 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7828 7829 } 7830 7831 7832 #line default 7833 #line hidden 7834 WriteLiteralTo(__razor_helper_writer, " </tr>\r\n"); 7835 7836 7837 #line 2119 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7838 7839 7840 #line default 7841 #line hidden 7842 }); 7843 7844 #line 2119 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7845 } 7846 #line default 7847 #line hidden 7848 7849 7850 #line 2124 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7851 public RazorEngine.Templating.TemplateWriter RenderTableCell(TableCell settings) 7852 { 7853 #line default 7854 #line hidden 7855 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 7856 7857 #line 2125 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7858 7859 Dictionary<string, string> attributes = new Dictionary<string, string>(); 7860 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 7861 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); } 7862 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); } 7863 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); } 7864 7865 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 7866 7867 string tagName = settings.IsHeader ? "th" : "td"; 7868 7869 7870 7871 #line default 7872 #line hidden 7873 7874 #line 2136 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7875 WriteTo(__razor_helper_writer, "<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">"); 7876 7877 7878 #line default 7879 #line hidden 7880 7881 #line 2136 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7882 7883 7884 7885 #line default 7886 #line hidden 7887 7888 #line 2137 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7889 WriteTo(__razor_helper_writer, settings.Content); 7890 7891 7892 #line default 7893 #line hidden 7894 7895 #line 2137 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7896 7897 7898 7899 #line default 7900 #line hidden 7901 7902 #line 2138 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7903 WriteTo(__razor_helper_writer, "</" + tagName + ">"); 7904 7905 7906 #line default 7907 #line hidden 7908 7909 #line 2138 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7910 ; 7911 7912 7913 #line default 7914 #line hidden 7915 }); 7916 7917 #line 2139 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7918 } 7919 #line default 7920 #line hidden 7921 7922 7923 #line 2145 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7924 public RazorEngine.Templating.TemplateWriter RenderPagination(Dynamicweb.Rapido.Blocks.Components.General.Pagination settings) 7925 { 7926 #line default 7927 #line hidden 7928 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 7929 7930 #line 2146 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7931 7932 var pageNumberQueryStringName = Dynamicweb.Rapido.Services.Pagination.GetPageNumberQueryStringName(settings); // Get the proper 'page number' query string parameter 7933 var queryParameters = Dynamicweb.Rapido.Services.Url.GetQueryParameters(pageNumberQueryStringName); // Get the NameValueCollection from the querystring 7934 7935 if (settings.NumberOfPages > 1) 7936 { 7937 string url = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/Default.aspx"; 7938 string ariaLabel = !string.IsNullOrWhiteSpace(settings.AriaLabel) ? settings.AriaLabel : Translate("Page navigation"); 7939 Dictionary<string, int> startAndEndPageNumber = Dynamicweb.Rapido.Services.Pagination.GetStartAndEndPageNumber(settings); 7940 7941 7942 7943 #line default 7944 #line hidden 7945 WriteLiteralTo(__razor_helper_writer, " <div"); 7946 7947 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 85240), Tuple.Create("\"", 85292) 7948 , Tuple.Create(Tuple.Create("", 85248), Tuple.Create("pager", 85248), true) 7949 , Tuple.Create(Tuple.Create(" ", 85253), Tuple.Create("u-margin-top", 85254), true) 7950 , Tuple.Create(Tuple.Create(" ", 85266), Tuple.Create("dw-mod", 85267), true) 7951 7952 #line 2156 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7953 , Tuple.Create(Tuple.Create(" ", 85273), Tuple.Create<System.Object, System.Int32>(settings.CssClass 7954 7955 #line default 7956 #line hidden 7957 , 85274), false) 7958 ); 7959 7960 WriteAttributeTo(__razor_helper_writer, "aria-label", Tuple.Create(" aria-label=\"", 85293), Tuple.Create("\"", 85316) 7961 7962 #line 2156 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7963 , Tuple.Create(Tuple.Create("", 85306), Tuple.Create<System.Object, System.Int32>(ariaLabel 7964 7965 #line default 7966 #line hidden 7967 , 85306), false) 7968 ); 7969 7970 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7971 7972 7973 #line 2157 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7974 7975 7976 #line default 7977 #line hidden 7978 7979 #line 2157 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7980 if (settings.ShowPagingInfo) 7981 { 7982 7983 7984 #line default 7985 #line hidden 7986 WriteLiteralTo(__razor_helper_writer, " <div"); 7987 7988 WriteLiteralTo(__razor_helper_writer, " class=\"pager__info dw-mod\""); 7989 7990 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 7991 7992 WriteLiteralTo(__razor_helper_writer, " "); 7993 7994 7995 #line 2160 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 7996 WriteTo(__razor_helper_writer, Translate("Page")); 7997 7998 7999 #line default 8000 #line hidden 8001 WriteLiteralTo(__razor_helper_writer, " "); 8002 8003 8004 #line 2160 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8005 WriteTo(__razor_helper_writer, settings.CurrentPageNumber); 8006 8007 8008 #line default 8009 #line hidden 8010 WriteLiteralTo(__razor_helper_writer, " "); 8011 8012 8013 #line 2160 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8014 WriteTo(__razor_helper_writer, Translate("of")); 8015 8016 8017 #line default 8018 #line hidden 8019 WriteLiteralTo(__razor_helper_writer, " "); 8020 8021 8022 #line 2160 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8023 WriteTo(__razor_helper_writer, settings.NumberOfPages); 8024 8025 8026 #line default 8027 #line hidden 8028 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 8029 8030 8031 #line 2162 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8032 } 8033 8034 8035 #line default 8036 #line hidden 8037 WriteLiteralTo(__razor_helper_writer, " <ul"); 8038 8039 WriteLiteralTo(__razor_helper_writer, " class=\"pager__list dw-mod\""); 8040 8041 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 8042 8043 8044 #line 2164 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8045 8046 8047 #line default 8048 #line hidden 8049 8050 #line 2164 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8051 if (!string.IsNullOrWhiteSpace(settings.FirstPageUrl) && settings.ShowFirstAndLastControls) 8052 { 8053 8054 8055 #line default 8056 #line hidden 8057 8058 #line 2166 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8059 WriteTo(__razor_helper_writer, Render(new PaginationItem { Link = settings.FirstPageUrl, Icon = settings.FirstIcon })); 8060 8061 8062 #line default 8063 #line hidden 8064 8065 #line 2166 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8066 8067 } 8068 8069 8070 #line default 8071 #line hidden 8072 WriteLiteralTo(__razor_helper_writer, " "); 8073 8074 8075 #line 2168 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8076 if (!string.IsNullOrWhiteSpace(settings.PreviousPageUrl) && settings.ShowNextAndPrevControls) 8077 { 8078 8079 8080 #line default 8081 #line hidden 8082 8083 #line 2170 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8084 WriteTo(__razor_helper_writer, Render(new PaginationItem { Link = settings.PreviousPageUrl, Icon = settings.PrevIcon })); 8085 8086 8087 #line default 8088 #line hidden 8089 8090 #line 2170 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8091 8092 } 8093 8094 8095 #line default 8096 #line hidden 8097 WriteLiteralTo(__razor_helper_writer, " "); 8098 8099 8100 #line 2172 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8101 if (settings.GetPages().Any()) 8102 { 8103 foreach (var page in settings.GetPages()) 8104 { 8105 8106 8107 #line default 8108 #line hidden 8109 8110 #line 2176 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8111 WriteTo(__razor_helper_writer, Render(page)); 8112 8113 8114 #line default 8115 #line hidden 8116 8117 #line 2176 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8118 8119 } 8120 } 8121 else 8122 { 8123 for (var page = startAndEndPageNumber["StartPage"]; page <= startAndEndPageNumber["EndPage"]; page++) 8124 { 8125 queryParameters = Dynamicweb.Rapido.Services.Url.UpdateQueryStringParameter(queryParameters, pageNumberQueryStringName, page.ToString()); 8126 8127 8128 #line default 8129 #line hidden 8130 8131 #line 2184 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8132 WriteTo(__razor_helper_writer, Render(new PaginationItem { Label = page.ToString(), Link = Dynamicweb.Rapido.Services.Url.BuildUri(url, queryParameters).PathAndQuery, IsActive = (settings.CurrentPageNumber == page) })); 8133 8134 8135 #line default 8136 #line hidden 8137 8138 #line 2184 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8139 ; 8140 } 8141 } 8142 8143 8144 #line default 8145 #line hidden 8146 WriteLiteralTo(__razor_helper_writer, " "); 8147 8148 8149 #line 2187 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8150 if (!string.IsNullOrWhiteSpace(settings.NextPageUrl) && settings.ShowNextAndPrevControls) 8151 { 8152 8153 8154 #line default 8155 #line hidden 8156 8157 #line 2189 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8158 WriteTo(__razor_helper_writer, Render(new PaginationItem { Link = settings.NextPageUrl, Icon = settings.NextIcon })); 8159 8160 8161 #line default 8162 #line hidden 8163 8164 #line 2189 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8165 8166 } 8167 8168 8169 #line default 8170 #line hidden 8171 WriteLiteralTo(__razor_helper_writer, " "); 8172 8173 8174 #line 2191 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8175 if (!string.IsNullOrWhiteSpace(settings.LastPageUrl) && settings.ShowFirstAndLastControls) 8176 { 8177 8178 8179 #line default 8180 #line hidden 8181 8182 #line 2193 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8183 WriteTo(__razor_helper_writer, Render(new PaginationItem { Link = settings.LastPageUrl, Icon = settings.LastIcon })); 8184 8185 8186 #line default 8187 #line hidden 8188 8189 #line 2193 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8190 8191 } 8192 8193 8194 #line default 8195 #line hidden 8196 WriteLiteralTo(__razor_helper_writer, " </ul>\r\n </div>\r\n"); 8197 8198 8199 #line 2197 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8200 } 8201 8202 8203 #line default 8204 #line hidden 8205 }); 8206 8207 #line 2198 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8208 } 8209 #line default 8210 #line hidden 8211 8212 8213 #line 2200 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8214 public RazorEngine.Templating.TemplateWriter RenderPaginationItem(PaginationItem settings) 8215 { 8216 #line default 8217 #line hidden 8218 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 8219 8220 #line 2201 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8221 8222 if (settings.Icon == null) 8223 { 8224 settings.Icon = new Icon(); 8225 } 8226 8227 settings.Icon.Label = settings.Label; 8228 8229 8230 #line default 8231 #line hidden 8232 WriteLiteralTo(__razor_helper_writer, " <li"); 8233 8234 WriteLiteralTo(__razor_helper_writer, " class=\"pager__btn dw-mod\""); 8235 8236 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 8237 8238 8239 #line 2209 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8240 8241 8242 #line default 8243 #line hidden 8244 8245 #line 2209 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8246 if (settings.IsActive) 8247 { 8248 8249 8250 #line default 8251 #line hidden 8252 WriteLiteralTo(__razor_helper_writer, " <span"); 8253 8254 WriteLiteralTo(__razor_helper_writer, " class=\"pager__num pager__num--current dw-mod\""); 8255 8256 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 8257 8258 WriteLiteralTo(__razor_helper_writer, " "); 8259 8260 8261 #line 2212 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8262 WriteTo(__razor_helper_writer, Render(settings.Icon)); 8263 8264 8265 #line default 8266 #line hidden 8267 WriteLiteralTo(__razor_helper_writer, "\r\n </span>\r\n"); 8268 8269 8270 #line 2214 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8271 } 8272 else 8273 { 8274 8275 8276 #line default 8277 #line hidden 8278 WriteLiteralTo(__razor_helper_writer, " <a"); 8279 8280 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 87977), Tuple.Create("\"", 87998) 8281 8282 #line 2217 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8283 , Tuple.Create(Tuple.Create("", 87984), Tuple.Create<System.Object, System.Int32>(settings.Link 8284 8285 #line default 8286 #line hidden 8287 , 87984), false) 8288 ); 8289 8290 WriteLiteralTo(__razor_helper_writer, " class=\"pager__num dw-mod\""); 8291 8292 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 8293 8294 WriteLiteralTo(__razor_helper_writer, " "); 8295 8296 8297 #line 2218 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8298 WriteTo(__razor_helper_writer, Render(settings.Icon)); 8299 8300 8301 #line default 8302 #line hidden 8303 WriteLiteralTo(__razor_helper_writer, "\r\n </a>\r\n"); 8304 8305 8306 #line 2220 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8307 } 8308 8309 8310 #line default 8311 #line hidden 8312 WriteLiteralTo(__razor_helper_writer, " </li>\r\n"); 8313 8314 8315 #line 2222 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8316 8317 8318 #line default 8319 #line hidden 8320 }); 8321 8322 #line 2222 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8323 } 8324 #line default 8325 #line hidden 8326 8327 8328 #line 2233 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8329 public RazorEngine.Templating.TemplateWriter RenderAlertNotification(AlertNotification settings) 8330 { 8331 #line default 8332 #line hidden 8333 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 8334 8335 #line 2234 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8336 8337 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || !string.IsNullOrEmpty(settings.Message))) 8338 { 8339 8340 8341 #line default 8342 #line hidden 8343 8344 #line 2237 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8345 WriteTo(__razor_helper_writer, string.Format("AlertNotification.ShowNotification('{0}','{1}'{2})", Converter.ToString(settings.Title), Converter.ToString(settings.Message), GetAlertNotificationConfiguration(settings))); 8346 8347 8348 #line default 8349 #line hidden 8350 8351 #line 2237 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8352 8353 } 8354 8355 8356 #line default 8357 #line hidden 8358 }); 8359 8360 #line 2239 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8361 } 8362 #line default 8363 #line hidden 8364 8365 8366 #line 2242 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8367 8368 private string GetAlertNotificationConfiguration(AlertNotification settings) 8369 { 8370 string[] configuration = 8371 { 8372 AppendProperty("closeOnClick", settings.CloseOnClick), 8373 AppendProperty("displayCloseButton", settings.DisplayCloseButton), 8374 AppendProperty("onClick", settings.OnClick), 8375 AppendProperty("showDuration", settings.ShowDuration), 8376 AppendProperty("positionClass", settings.Position), 8377 AppendProperty("theme", settings.Theme) 8378 }; 8379 8380 configuration = configuration.Where(c => !string.IsNullOrEmpty(c)).ToArray(); 8381 8382 if (!configuration.Any()) 8383 { 8384 return string.Empty; 8385 } 8386 8387 return string.Concat(",{", string.Join(",", configuration), "}"); 8388 } 8389 8390 private static string AppendProperty(string propertyName, bool? propertyValue) 8391 { 8392 return propertyValue != null ? string.Format("{0}: {1}",propertyName, propertyValue.ToString().ToLowerInvariant()) : null; 8393 } 8394 8395 private static string AppendProperty(string propertyName, int? propertyValue) 8396 { 8397 return propertyValue != null ? string.Format("{0}: {1}",propertyName, propertyValue.ToString().ToLowerInvariant()) : null; 8398 } 8399 8400 private static string AppendProperty(string propertyName, AlertNotificationPosition.Position? propertyValue) 8401 { 8402 return propertyValue != null ? string.Format("{0}: positionConfig.{1}",propertyName, propertyValue) : null; 8403 } 8404 8405 private static string AppendProperty(string propertyName, AlertNotificationTheme.Theme? propertyValue) 8406 { 8407 return propertyValue != null ? string.Format("{0}: themeConfig.{1}",propertyName, propertyValue) : null; 8408 } 8409 8410 #line default 8411 #line hidden 8412 8413 8414 #line 2290 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8415 public RazorEngine.Templating.TemplateWriter RenderMonthYearField(DateTimeField settings) 8416 { 8417 #line default 8418 #line hidden 8419 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 8420 8421 #line 2291 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8422 8423 if (string.IsNullOrEmpty(settings.Id)) 8424 { 8425 settings.Id = Guid.NewGuid().ToString("N"); 8426 } 8427 8428 var textField = new TextField { 8429 Name = settings.Name, 8430 Id = settings.Id, 8431 Label = settings.Label, 8432 HelpText = settings.HelpText, 8433 Value = settings.Value, 8434 Disabled = settings.Disabled, 8435 Required = settings.Required, 8436 ErrorMessage = settings.ErrorMessage, 8437 CssClass = settings.CssClass, 8438 WrapperCssClass = settings.WrapperCssClass, 8439 OnChange = settings.OnChange, 8440 OnClick = settings.OnClick, 8441 ExtraAttributes = settings.ExtraAttributes, 8442 // 8443 Placeholder = settings.Placeholder 8444 }; 8445 8446 8447 8448 #line default 8449 #line hidden 8450 8451 #line 2315 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8452 WriteTo(__razor_helper_writer, Render(textField)); 8453 8454 8455 #line default 8456 #line hidden 8457 8458 #line 2315 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8459 8460 8461 List<string> jsAttributes = new List<string>(); 8462 8463 jsAttributes.Add("mode: '" + Enum.GetName(typeof(DateTimeFieldMode), settings.Mode).ToLower() + "'"); 8464 8465 if (!string.IsNullOrEmpty(settings.DateFormat)) 8466 { 8467 jsAttributes.Add("dateFormat: '" + settings.DateFormat + "'"); 8468 } 8469 if (!string.IsNullOrEmpty(settings.MinDate)) 8470 { 8471 jsAttributes.Add("minDate: '" + settings.MinDate + "'"); 8472 } 8473 if (!string.IsNullOrEmpty(settings.MaxDate)) 8474 { 8475 jsAttributes.Add("maxDate: '" + settings.MaxDate + "'"); 8476 } 8477 if (settings.IsInline) 8478 { 8479 jsAttributes.Add("inline: " + Converter.ToString(settings.IsInline).ToLower()); 8480 } 8481 if (settings.EnableTime) 8482 { 8483 jsAttributes.Add("enableTime: " + Converter.ToString(settings.EnableTime).ToLower()); 8484 } 8485 if (settings.EnableWeekNumbers) 8486 { 8487 jsAttributes.Add("weekNumbers: " + Converter.ToString(settings.EnableWeekNumbers).ToLower()); 8488 } 8489 jsAttributes.Add("plugins: " + "[new monthSelectPlugin({shorthand: true, dateFormat: 'F Y', altFormat: 'F Y'})]"); 8490 8491 jsAttributes.AddRange(settings.GetFlatPickrOptions().Select(x => x.Key + ": " + x.Value)); 8492 8493 8494 8495 #line default 8496 #line hidden 8497 WriteLiteralTo(__razor_helper_writer, " <script>\r\n document.addEventListener(\"DOMContentLoaded\", function () {" + 8498 "\r\n flatpickr(\"#"); 8499 8500 8501 #line 2351 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8502 WriteTo(__razor_helper_writer, textField.Id); 8503 8504 8505 #line default 8506 #line hidden 8507 WriteLiteralTo(__razor_helper_writer, "\", {\r\n"); 8508 8509 WriteLiteralTo(__razor_helper_writer, " "); 8510 8511 8512 #line 2352 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8513 WriteTo(__razor_helper_writer, string.Join(",", jsAttributes)); 8514 8515 8516 #line default 8517 #line hidden 8518 WriteLiteralTo(__razor_helper_writer, "\r\n });\r\n });\r\n </script>\r\n"); 8519 8520 8521 #line 2356 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8522 8523 8524 #line default 8525 #line hidden 8526 }); 8527 8528 #line 2356 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8529 } 8530 #line default 8531 #line hidden 8532 8533 8534 #line 2360 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8535 public RazorEngine.Templating.TemplateWriter RenderProgressionBar(ProgressionBar settings) 8536 { 8537 #line default 8538 #line hidden 8539 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 8540 8541 #line 2361 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8542 8543 var secondaryValue = settings.TotalValue - settings.Value; 8544 var label = !string.IsNullOrEmpty(settings.Label) ? $"{settings.Label}: " : ""; 8545 var defaultColorClass = !string.IsNullOrEmpty(settings.Color) ? "" : "u-brand-color-one--bg"; 8546 8547 8548 8549 #line default 8550 #line hidden 8551 WriteLiteralTo(__razor_helper_writer, " <div"); 8552 8553 WriteLiteralTo(__razor_helper_writer, " class=\"progress-bar\""); 8554 8555 WriteLiteralTo(__razor_helper_writer, ">\r\n <span"); 8556 8557 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left u-margin\""); 8558 8559 WriteLiteralTo(__razor_helper_writer, ">"); 8560 8561 8562 #line 2367 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8563 WriteTo(__razor_helper_writer, $"{label}{FormatValue(settings.Value, settings.TotalValue, settings.RenderType)}"); 8564 8565 8566 #line default 8567 #line hidden 8568 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 8569 8570 8571 #line 2368 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8572 8573 8574 #line default 8575 #line hidden 8576 8577 #line 2368 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8578 if (!settings.HideRemainingLabel) 8579 { 8580 var remainingLabel = !string.IsNullOrEmpty(settings.RemainingLabel) ? $"{settings.RemainingLabel}: " : ""; 8581 8582 8583 8584 #line default 8585 #line hidden 8586 WriteLiteralTo(__razor_helper_writer, " <span"); 8587 8588 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--right u-margin\""); 8589 8590 WriteLiteralTo(__razor_helper_writer, ">"); 8591 8592 8593 #line 2372 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8594 WriteTo(__razor_helper_writer, $"{remainingLabel}{FormatValue(secondaryValue, settings.TotalValue, settings.RenderType)}"); 8595 8596 8597 #line default 8598 #line hidden 8599 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 8600 8601 8602 #line 2373 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8603 } 8604 8605 8606 #line default 8607 #line hidden 8608 WriteLiteralTo(__razor_helper_writer, " <div"); 8609 8610 WriteLiteralTo(__razor_helper_writer, " class=\"u-color-light-gray--bg progress-bar__line\""); 8611 8612 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 8613 8614 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 93819), Tuple.Create("\"", 93893) 8615 , Tuple.Create(Tuple.Create("", 93827), Tuple.Create("progress-bar__line", 93827), true) 8616 , Tuple.Create(Tuple.Create(" ", 93845), Tuple.Create("progress-bar__line--complete", 93846), true) 8617 8618 #line 2375 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8619 , Tuple.Create(Tuple.Create(" ", 93874), Tuple.Create<System.Object, System.Int32>(defaultColorClass 8620 8621 #line default 8622 #line hidden 8623 , 93875), false) 8624 ); 8625 8626 WriteAttributeTo(__razor_helper_writer, "style", Tuple.Create(" style=\"", 93894), Tuple.Create("\"", 94002) 8627 , Tuple.Create(Tuple.Create("", 93902), Tuple.Create("width:", 93902), true) 8628 8629 #line 2375 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8630 , Tuple.Create(Tuple.Create("", 93908), Tuple.Create<System.Object, System.Int32>(GetCompletionPercentage(settings.Value, settings.TotalValue) 8631 8632 #line default 8633 #line hidden 8634 , 93908), false) 8635 , Tuple.Create(Tuple.Create("", 93969), Tuple.Create(";background-color:", 93969), true) 8636 8637 #line 2375 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8638 , Tuple.Create(Tuple.Create("", 93987), Tuple.Create<System.Object, System.Int32>(settings.Color 8639 8640 #line default 8641 #line hidden 8642 , 93987), false) 8643 ); 8644 8645 WriteLiteralTo(__razor_helper_writer, "></div>\r\n </div>\r\n </div>\r\n"); 8646 8647 8648 #line 2378 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8649 8650 8651 #line default 8652 #line hidden 8653 }); 8654 8655 #line 2378 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8656 } 8657 #line default 8658 #line hidden 8659 8660 8661 #line 2381 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8662 8663 private static string GetCompletionPercentage(double value, double total) 8664 { 8665 var percentage = value * 100 / total; 8666 return Math.Round(percentage) + "%"; 8667 } 8668 8669 private static dynamic FormatValue(double value, double total, ProgressionBarRenderType.RenderType? renderType) 8670 { 8671 switch (renderType) 8672 { 8673 case ProgressionBarRenderType.RenderType.Price: 8674 return Dynamicweb.Ecommerce.Services.Currencies.Format(Dynamicweb.Ecommerce.Common.Context.Currency, value, true); 8675 case ProgressionBarRenderType.RenderType.Percentage: 8676 return GetCompletionPercentage(value, total); 8677 case ProgressionBarRenderType.RenderType.NoFormat: 8678 default: 8679 return value; 8680 } 8681 } 8682 8683 #line default 8684 #line hidden 8685 8686 8687 #line 2407 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8688 public RazorEngine.Templating.TemplateWriter RenderAddToCartWithQuote(AddToCartWithQuote settings) 8689 { 8690 #line default 8691 #line hidden 8692 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 8693 8694 #line 2408 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8695 8696 //set Id for quantity selector to get it's value from button 8697 if (settings.QuantitySelector != null) 8698 { 8699 if (string.IsNullOrEmpty(settings.QuantitySelector.Id)) 8700 { 8701 settings.QuantitySelector.Id = Guid.NewGuid().ToString("N"); 8702 } 8703 8704 settings.AddButton.QuantitySelectorId = settings.QuantitySelector.Id; 8705 settings.AddToQuoteButton.QuantitySelectorId = settings.QuantitySelector.Id; 8706 8707 if (settings.Disabled) 8708 { 8709 settings.QuantitySelector.Disabled = true; 8710 } 8711 8712 if (string.IsNullOrEmpty(settings.QuantitySelector.Name)) 8713 { 8714 settings.QuantitySelector.Name = settings.QuantitySelector.Id; 8715 } 8716 } 8717 8718 if (settings.Disabled) 8719 { 8720 settings.AddButton.Disabled = true; 8721 settings.AddToQuoteButton.Disabled = true; 8722 } 8723 8724 settings.AddButton.CssClass += " btn--condensed"; 8725 settings.AddToQuoteButton.CssClass += " btn--condensed"; 8726 8727 //unitsSelector 8728 if (settings.UnitSelector != null) 8729 { 8730 if (settings.Disabled) 8731 { 8732 settings.QuantitySelector.Disabled = true; 8733 } 8734 } 8735 8736 8737 8738 #line default 8739 #line hidden 8740 WriteLiteralTo(__razor_helper_writer, " <div"); 8741 8742 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 96198), Tuple.Create("\"", 96250) 8743 , Tuple.Create(Tuple.Create("", 96206), Tuple.Create("buttons-collection", 96206), true) 8744 8745 #line 2449 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8746 , Tuple.Create(Tuple.Create(" ", 96224), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 8747 8748 #line default 8749 #line hidden 8750 , 96225), false) 8751 ); 8752 8753 WriteLiteralTo(__razor_helper_writer, " "); 8754 8755 8756 #line 2449 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8757 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 8758 8759 8760 #line default 8761 #line hidden 8762 WriteLiteralTo(__razor_helper_writer, "> \r\n"); 8763 8764 8765 #line 2450 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8766 8767 8768 #line default 8769 #line hidden 8770 8771 #line 2450 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8772 if (settings.UnitSelector != null) 8773 { 8774 8775 8776 #line default 8777 #line hidden 8778 8779 #line 2452 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8780 WriteTo(__razor_helper_writer, Render(settings.UnitSelector)); 8781 8782 8783 #line default 8784 #line hidden 8785 8786 #line 2452 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8787 8788 } 8789 8790 8791 #line default 8792 #line hidden 8793 WriteLiteralTo(__razor_helper_writer, " "); 8794 8795 8796 #line 2454 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8797 if (settings.QuantitySelector != null) 8798 { 8799 8800 8801 #line default 8802 #line hidden 8803 8804 #line 2456 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8805 WriteTo(__razor_helper_writer, Render(settings.QuantitySelector)); 8806 8807 8808 #line default 8809 #line hidden 8810 8811 #line 2456 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8812 8813 } 8814 8815 8816 #line default 8817 #line hidden 8818 WriteLiteralTo(__razor_helper_writer, " "); 8819 8820 8821 #line 2458 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8822 WriteTo(__razor_helper_writer, Render(settings.AddButton)); 8823 8824 8825 #line default 8826 #line hidden 8827 WriteLiteralTo(__razor_helper_writer, "\r\n"); 8828 8829 WriteLiteralTo(__razor_helper_writer, " "); 8830 8831 8832 #line 2459 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8833 WriteTo(__razor_helper_writer, Render(settings.AddToQuoteButton)); 8834 8835 8836 #line default 8837 #line hidden 8838 WriteLiteralTo(__razor_helper_writer, "\r\n"); 8839 8840 8841 #line 2460 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8842 8843 8844 #line default 8845 #line hidden 8846 8847 #line 2460 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8848 if (settings.ExtraButton != null) 8849 { 8850 8851 8852 #line default 8853 #line hidden 8854 8855 #line 2462 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8856 WriteTo(__razor_helper_writer, Render(settings.ExtraButton)); 8857 8858 8859 #line default 8860 #line hidden 8861 8862 #line 2462 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8863 8864 } 8865 8866 8867 #line default 8868 #line hidden 8869 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 8870 8871 8872 #line 2465 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8873 8874 8875 #line default 8876 #line hidden 8877 }); 8878 8879 #line 2465 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8880 } 8881 #line default 8882 #line hidden 8883 8884 8885 #line 2470 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8886 public RazorEngine.Templating.TemplateWriter RenderAddToCartButtonWithCartContext(AddToCartButtonWithCartContext settings) 8887 { 8888 #line default 8889 #line hidden 8890 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 8891 8892 #line 2471 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8893 8894 if (!settings.HideTitle) 8895 { 8896 if (string.IsNullOrEmpty(settings.Title)) 8897 { 8898 if (settings.BuyForPoints) 8899 { 8900 settings.Title = Translate("Buy with points"); 8901 } 8902 else 8903 { 8904 settings.Title = Translate("Add to cart"); 8905 } 8906 } 8907 } 8908 else 8909 { 8910 settings.Title = ""; 8911 } 8912 8913 if (settings.Icon == null) 8914 { 8915 settings.Icon = new Icon(); 8916 settings.Icon.LabelPosition = Dynamicweb.Rapido.Blocks.Components.General.IconLabelPosition.After; 8917 } 8918 8919 if (string.IsNullOrEmpty(settings.Icon.Name)) 8920 { 8921 settings.Icon.Name = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue; 8922 } 8923 8924 settings.OnClick = "Cart.AddToCartContext(event, { " + 8925 "id: '" + settings.ProductId + "'," + 8926 (!string.IsNullOrEmpty(settings.CartId) ? "cartId: '" + settings.CartId + "'," : "") + 8927 (!string.IsNullOrEmpty(settings.CartContainerId) ? "cartContainerId: '" + settings.CartContainerId + "'," : "") + 8928 (!string.IsNullOrEmpty(settings.CartContextId) ? "orderContextId: '" + settings.CartContextId + "'," : "") + 8929 (!string.IsNullOrEmpty(settings.VariantId) ? "variantId: '" + settings.VariantId + "'," : "") + 8930 (!string.IsNullOrEmpty(settings.UnitId) ? "unitId: '" + settings.UnitId + "'," : "") + 8931 (settings.BuyForPoints ? "buyForPoints: true," : "") + 8932 (!string.IsNullOrEmpty(settings.ProductInfo) ? "productInfo: " + settings.ProductInfo + "," : "") + 8933 "quantity: " + (string.IsNullOrEmpty(settings.QuantitySelectorId) ? "1" : "parseFloat(document.getElementById('" + settings.QuantitySelectorId + "').value)") + 8934 "});" + settings.OnClick; 8935 8936 8937 8938 #line default 8939 #line hidden 8940 8941 #line 2514 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8942 WriteTo(__razor_helper_writer, RenderButton(settings)); 8943 8944 8945 #line default 8946 #line hidden 8947 8948 #line 2514 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8949 8950 8951 8952 #line default 8953 #line hidden 8954 }); 8955 8956 #line 2515 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8957 } 8958 #line default 8959 #line hidden 8960 8961 8962 #line 2528 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8963 public RazorEngine.Templating.TemplateWriter RenderVariantMatrix(VariantMatrix settings) { 8964 #line default 8965 #line hidden 8966 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 8967 8968 #line 2528 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 8969 8970 if (settings != null) 8971 { 8972 int productLoopCounter = 0; 8973 int groupCount = 0; 8974 List<VariantOption> firstDimension = new List<VariantOption>(); 8975 List<VariantOption> secondDimension = new List<VariantOption>(); 8976 List<VariantOption> thirdDimension = new List<VariantOption>(); 8977 8978 foreach (VariantGroup variantGroup in settings.GetVariantGroups()) 8979 { 8980 foreach (VariantOption variantOptions in variantGroup.GetVariantOptions()) 8981 { 8982 if (groupCount == 0) { 8983 firstDimension.Add(variantOptions); 8984 } 8985 if (groupCount == 1) 8986 { 8987 secondDimension.Add(variantOptions); 8988 } 8989 if (groupCount == 2) 8990 { 8991 thirdDimension.Add(variantOptions); 8992 } 8993 } 8994 groupCount++; 8995 } 8996 8997 int rowCount = 0; 8998 int columnCount = 0; 8999 9000 9001 9002 #line default 9003 #line hidden 9004 WriteLiteralTo(__razor_helper_writer, " <script>\r\n var variantsCollection = [];\r\n </script>\r\n"); 9005 9006 9007 #line 2562 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9008 9009 9010 9011 #line default 9012 #line hidden 9013 WriteLiteralTo(__razor_helper_writer, " <table"); 9014 9015 WriteLiteralTo(__razor_helper_writer, " class=\"table table--compact js-variants-matrix dw-mod\""); 9016 9017 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 100243), Tuple.Create("\"", 100286) 9018 , Tuple.Create(Tuple.Create("", 100248), Tuple.Create("VariantMatrixTable_", 100248), true) 9019 9020 #line 2563 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9021 , Tuple.Create(Tuple.Create("", 100267), Tuple.Create<System.Object, System.Int32>(settings.ProductId 9022 9023 #line default 9024 #line hidden 9025 , 100267), false) 9026 ); 9027 9028 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 9029 9030 9031 #line 2564 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9032 9033 9034 #line default 9035 #line hidden 9036 9037 #line 2564 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9038 if (groupCount == 1) 9039 { 9040 9041 9042 #line default 9043 #line hidden 9044 WriteLiteralTo(__razor_helper_writer, " <tbody>\r\n"); 9045 9046 9047 #line 2567 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9048 9049 9050 #line default 9051 #line hidden 9052 9053 #line 2567 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9054 foreach (VariantOption firstVariantOption in firstDimension) 9055 { 9056 var variantId = firstVariantOption.Id; 9057 9058 9059 #line default 9060 #line hidden 9061 WriteLiteralTo(__razor_helper_writer, " <tr>\r\n <td"); 9062 9063 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold\""); 9064 9065 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 9066 9067 WriteLiteralTo(__razor_helper_writer, " "); 9068 9069 9070 #line 2572 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9071 WriteTo(__razor_helper_writer, firstVariantOption.Name); 9072 9073 9074 #line default 9075 #line hidden 9076 WriteLiteralTo(__razor_helper_writer, "\r\n </td>\r\n <td>\r\n"); 9077 9078 WriteLiteralTo(__razor_helper_writer, " "); 9079 9080 9081 #line 2575 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9082 WriteTo(__razor_helper_writer, RenderVariantMatrixQuantityField(variantId, settings, productLoopCounter, rowCount, columnCount)); 9083 9084 9085 #line default 9086 #line hidden 9087 WriteLiteralTo(__razor_helper_writer, "\r\n </td>\r\n </tr>\r\n"); 9088 9089 9090 #line 2578 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9091 productLoopCounter++; 9092 } 9093 9094 9095 #line default 9096 #line hidden 9097 WriteLiteralTo(__razor_helper_writer, "\r\n <tr>\r\n <td>&nbsp;</td>\r\n " + 9098 " <td>\r\n <div"); 9099 9100 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 101139), Tuple.Create("\"", 101196) 9101 , Tuple.Create(Tuple.Create("", 101147), Tuple.Create("qty-field", 101147), true) 9102 , Tuple.Create(Tuple.Create(" ", 101156), Tuple.Create("js-total-qty-column-", 101157), true) 9103 9104 #line 2584 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9105 , Tuple.Create(Tuple.Create("", 101177), Tuple.Create<System.Object, System.Int32>(columnCount 9106 9107 #line default 9108 #line hidden 9109 , 101177), false) 9110 , Tuple.Create(Tuple.Create(" ", 101189), Tuple.Create("dw-mod", 101190), true) 9111 ); 9112 9113 WriteLiteralTo(__razor_helper_writer, ">0</div>\r\n </td>\r\n </tr>\r\n " + 9114 " </tbody>\r\n"); 9115 9116 9117 #line 2588 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9118 } 9119 9120 9121 #line default 9122 #line hidden 9123 WriteLiteralTo(__razor_helper_writer, " "); 9124 9125 9126 #line 2589 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9127 if (groupCount == 2) 9128 { 9129 9130 9131 #line default 9132 #line hidden 9133 WriteLiteralTo(__razor_helper_writer, " <thead>\r\n <tr>\r\n <td>&n" + 9134 "bsp;</td>\r\n"); 9135 9136 9137 #line 2594 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9138 9139 9140 #line default 9141 #line hidden 9142 9143 #line 2594 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9144 foreach (VariantOption variant in secondDimension) 9145 { 9146 9147 9148 #line default 9149 #line hidden 9150 WriteLiteralTo(__razor_helper_writer, " <td>"); 9151 9152 9153 #line 2596 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9154 WriteTo(__razor_helper_writer, variant.Name); 9155 9156 9157 #line default 9158 #line hidden 9159 WriteLiteralTo(__razor_helper_writer, "</td>\r\n"); 9160 9161 9162 #line 2597 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9163 } 9164 9165 9166 #line default 9167 #line hidden 9168 WriteLiteralTo(__razor_helper_writer, " </tr>\r\n </thead>\r\n"); 9169 9170 WriteLiteralTo(__razor_helper_writer, " <tbody>\r\n"); 9171 9172 9173 #line 2601 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9174 9175 9176 #line default 9177 #line hidden 9178 9179 #line 2601 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9180 foreach (VariantOption firstVariantOption in firstDimension) 9181 { 9182 string variantId = ""; 9183 columnCount = 0; 9184 9185 9186 9187 #line default 9188 #line hidden 9189 WriteLiteralTo(__razor_helper_writer, " <tr>\r\n <td"); 9190 9191 WriteLiteralTo(__razor_helper_writer, " class=\"u-min-w120px\""); 9192 9193 WriteLiteralTo(__razor_helper_writer, ">"); 9194 9195 9196 #line 2607 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9197 WriteTo(__razor_helper_writer, firstVariantOption.Name); 9198 9199 9200 #line default 9201 #line hidden 9202 WriteLiteralTo(__razor_helper_writer, "</td>\r\n\r\n"); 9203 9204 9205 #line 2609 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9206 9207 9208 #line default 9209 #line hidden 9210 9211 #line 2609 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9212 foreach (VariantOption secondVariantOption in secondDimension) 9213 { 9214 variantId = firstVariantOption.Id + "." + secondVariantOption.Id; 9215 9216 9217 #line default 9218 #line hidden 9219 WriteLiteralTo(__razor_helper_writer, " <td>\r\n"); 9220 9221 WriteLiteralTo(__razor_helper_writer, " "); 9222 9223 9224 #line 2613 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9225 WriteTo(__razor_helper_writer, RenderVariantMatrixQuantityField(variantId, settings, productLoopCounter, rowCount, columnCount)); 9226 9227 9228 #line default 9229 #line hidden 9230 WriteLiteralTo(__razor_helper_writer, "\r\n </td>\r\n"); 9231 9232 9233 #line 2615 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9234 9235 columnCount++; 9236 9237 productLoopCounter++; 9238 } 9239 9240 9241 #line default 9242 #line hidden 9243 WriteLiteralTo(__razor_helper_writer, "\r\n <td>\r\n <div"); 9244 9245 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 102668), Tuple.Create("\"", 102719) 9246 , Tuple.Create(Tuple.Create("", 102676), Tuple.Create("qty-field", 102676), true) 9247 , Tuple.Create(Tuple.Create(" ", 102685), Tuple.Create("js-total-qty-row-", 102686), true) 9248 9249 #line 2622 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9250 , Tuple.Create(Tuple.Create("", 102703), Tuple.Create<System.Object, System.Int32>(rowCount 9251 9252 #line default 9253 #line hidden 9254 , 102703), false) 9255 , Tuple.Create(Tuple.Create(" ", 102712), Tuple.Create("dw-mod", 102713), true) 9256 ); 9257 9258 WriteLiteralTo(__razor_helper_writer, ">0</div>\r\n </td>\r\n </tr>\r\n"); 9259 9260 9261 #line 2625 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9262 9263 rowCount++; 9264 } 9265 9266 9267 #line default 9268 #line hidden 9269 WriteLiteralTo(__razor_helper_writer, "\r\n"); 9270 9271 9272 #line 2629 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9273 9274 9275 #line default 9276 #line hidden 9277 9278 #line 2629 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9279 9280 columnCount = 0; 9281 9282 9283 #line default 9284 #line hidden 9285 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n <tr>\r\n <td>&nbsp;</td>\r\n"); 9286 9287 9288 #line 2635 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9289 9290 9291 #line default 9292 #line hidden 9293 9294 #line 2635 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9295 foreach (VariantOption secondVariantOption in secondDimension) 9296 { 9297 9298 9299 #line default 9300 #line hidden 9301 WriteLiteralTo(__razor_helper_writer, " <td>\r\n <div"); 9302 9303 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 103204), Tuple.Create("\"", 103261) 9304 , Tuple.Create(Tuple.Create("", 103212), Tuple.Create("qty-field", 103212), true) 9305 , Tuple.Create(Tuple.Create(" ", 103221), Tuple.Create("js-total-qty-column-", 103222), true) 9306 9307 #line 2638 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9308 , Tuple.Create(Tuple.Create("", 103242), Tuple.Create<System.Object, System.Int32>(columnCount 9309 9310 #line default 9311 #line hidden 9312 , 103242), false) 9313 , Tuple.Create(Tuple.Create(" ", 103254), Tuple.Create("dw-mod", 103255), true) 9314 ); 9315 9316 WriteLiteralTo(__razor_helper_writer, ">0</div>\r\n </td>\r\n"); 9317 9318 9319 #line 2640 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9320 9321 columnCount++; 9322 } 9323 9324 9325 #line default 9326 #line hidden 9327 WriteLiteralTo(__razor_helper_writer, " <td>&nbsp;</td>\r\n </tr>\r\n " + 9328 " </tbody>\r\n"); 9329 9330 9331 #line 2646 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9332 } 9333 9334 9335 #line default 9336 #line hidden 9337 WriteLiteralTo(__razor_helper_writer, " "); 9338 9339 9340 #line 2647 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9341 if (groupCount == 3) 9342 { 9343 9344 9345 #line default 9346 #line hidden 9347 WriteLiteralTo(__razor_helper_writer, " <thead>\r\n <tr>\r\n <td>&n" + 9348 "bsp;</td>\r\n"); 9349 9350 9351 #line 2652 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9352 9353 9354 #line default 9355 #line hidden 9356 9357 #line 2652 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9358 foreach (VariantOption thirdVariantOption in thirdDimension) 9359 { 9360 9361 9362 #line default 9363 #line hidden 9364 WriteLiteralTo(__razor_helper_writer, " <td>"); 9365 9366 9367 #line 2654 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9368 WriteTo(__razor_helper_writer, thirdVariantOption.Name); 9369 9370 9371 #line default 9372 #line hidden 9373 WriteLiteralTo(__razor_helper_writer, "</td>\r\n"); 9374 9375 9376 #line 2655 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9377 } 9378 9379 9380 #line default 9381 #line hidden 9382 WriteLiteralTo(__razor_helper_writer, " </tr>\r\n </thead>\r\n"); 9383 9384 WriteLiteralTo(__razor_helper_writer, " <tbody>\r\n"); 9385 9386 9387 #line 2659 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9388 9389 9390 #line default 9391 #line hidden 9392 9393 #line 2659 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9394 foreach (VariantOption firstVariantOption in firstDimension) 9395 { 9396 int colspan = (thirdDimension.Count + 1); 9397 9398 9399 9400 #line default 9401 #line hidden 9402 WriteLiteralTo(__razor_helper_writer, " <tr>\r\n <td"); 9403 9404 WriteAttributeTo(__razor_helper_writer, "colspan", Tuple.Create(" colspan=\"", 104149), Tuple.Create("\"", 104167) 9405 9406 #line 2664 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9407 , Tuple.Create(Tuple.Create("", 104159), Tuple.Create<System.Object, System.Int32>(colspan 9408 9409 #line default 9410 #line hidden 9411 , 104159), false) 9412 ); 9413 9414 WriteLiteralTo(__razor_helper_writer, " class=\"u-color-light-gray--bg u-bold\""); 9415 9416 WriteLiteralTo(__razor_helper_writer, ">"); 9417 9418 9419 #line 2664 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9420 WriteTo(__razor_helper_writer, firstVariantOption.Name); 9421 9422 9423 #line default 9424 #line hidden 9425 WriteLiteralTo(__razor_helper_writer, "</td>\r\n </tr>\r\n"); 9426 9427 9428 #line 2666 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9429 9430 foreach (VariantOption secondVariantOption in secondDimension) 9431 { 9432 string variantId = ""; 9433 columnCount = 0; 9434 9435 9436 9437 #line default 9438 #line hidden 9439 WriteLiteralTo(__razor_helper_writer, " <tr>\r\n <td"); 9440 9441 WriteLiteralTo(__razor_helper_writer, " class=\"u-min-w120px\""); 9442 9443 WriteLiteralTo(__razor_helper_writer, ">"); 9444 9445 9446 #line 2673 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9447 WriteTo(__razor_helper_writer, secondVariantOption.Name); 9448 9449 9450 #line default 9451 #line hidden 9452 WriteLiteralTo(__razor_helper_writer, "</td>\r\n\r\n"); 9453 9454 9455 #line 2675 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9456 9457 9458 #line default 9459 #line hidden 9460 9461 #line 2675 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9462 foreach (VariantOption thirdVariantOption in thirdDimension) 9463 { 9464 variantId = firstVariantOption.Id + "." + secondVariantOption.Id + "." + thirdVariantOption.Id; 9465 9466 9467 9468 #line default 9469 #line hidden 9470 WriteLiteralTo(__razor_helper_writer, " <td>\r\n"); 9471 9472 WriteLiteralTo(__razor_helper_writer, " "); 9473 9474 9475 #line 2680 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9476 WriteTo(__razor_helper_writer, RenderVariantMatrixQuantityField(variantId, settings, productLoopCounter, rowCount, columnCount)); 9477 9478 9479 #line default 9480 #line hidden 9481 WriteLiteralTo(__razor_helper_writer, "\r\n </td>\r\n"); 9482 9483 9484 #line 2682 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9485 9486 columnCount++; 9487 productLoopCounter++; 9488 } 9489 9490 9491 #line default 9492 #line hidden 9493 WriteLiteralTo(__razor_helper_writer, "\r\n <td>\r\n <div"); 9494 9495 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 105328), Tuple.Create("\"", 105379) 9496 , Tuple.Create(Tuple.Create("", 105336), Tuple.Create("qty-field", 105336), true) 9497 , Tuple.Create(Tuple.Create(" ", 105345), Tuple.Create("js-total-qty-row-", 105346), true) 9498 9499 #line 2688 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9500 , Tuple.Create(Tuple.Create("", 105363), Tuple.Create<System.Object, System.Int32>(rowCount 9501 9502 #line default 9503 #line hidden 9504 , 105363), false) 9505 , Tuple.Create(Tuple.Create(" ", 105372), Tuple.Create("dw-mod", 105373), true) 9506 ); 9507 9508 WriteLiteralTo(__razor_helper_writer, ">0</div>\r\n </td>\r\n </tr" + 9509 ">\r\n"); 9510 9511 9512 #line 2691 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9513 rowCount++; 9514 } 9515 } 9516 9517 9518 #line default 9519 #line hidden 9520 WriteLiteralTo(__razor_helper_writer, "\r\n"); 9521 9522 9523 #line 2695 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9524 9525 9526 #line default 9527 #line hidden 9528 9529 #line 2695 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9530 9531 columnCount = 0; 9532 9533 9534 #line default 9535 #line hidden 9536 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n <tr>\r\n <td>&nbsp;</td>\r\n"); 9537 9538 9539 #line 2701 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9540 9541 9542 #line default 9543 #line hidden 9544 9545 #line 2701 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9546 foreach (VariantOption thirdVariantOption in thirdDimension) 9547 { 9548 9549 9550 #line default 9551 #line hidden 9552 WriteLiteralTo(__razor_helper_writer, " <td>\r\n <div"); 9553 9554 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 105899), Tuple.Create("\"", 105956) 9555 , Tuple.Create(Tuple.Create("", 105907), Tuple.Create("qty-field", 105907), true) 9556 , Tuple.Create(Tuple.Create(" ", 105916), Tuple.Create("js-total-qty-column-", 105917), true) 9557 9558 #line 2704 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9559 , Tuple.Create(Tuple.Create("", 105937), Tuple.Create<System.Object, System.Int32>(columnCount 9560 9561 #line default 9562 #line hidden 9563 , 105937), false) 9564 , Tuple.Create(Tuple.Create(" ", 105949), Tuple.Create("dw-mod", 105950), true) 9565 ); 9566 9567 WriteLiteralTo(__razor_helper_writer, ">0</div>\r\n </td>\r\n"); 9568 9569 9570 #line 2706 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9571 9572 columnCount++; 9573 } 9574 9575 9576 #line default 9577 #line hidden 9578 WriteLiteralTo(__razor_helper_writer, " <td>&nbsp;</td>\r\n </tr>\r\n " + 9579 " </tbody>\r\n"); 9580 9581 9582 #line 2712 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9583 } 9584 9585 9586 #line default 9587 #line hidden 9588 WriteLiteralTo(__razor_helper_writer, " </table>\r\n"); 9589 9590 9591 #line 2714 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9592 9593 9594 9595 #line default 9596 #line hidden 9597 WriteLiteralTo(__razor_helper_writer, " <script>\r\n document.addEventListener(\"DOMContentLoaded\", funct" + 9598 "ion (event) {\r\n MatrixUpdateQuantity(\""); 9599 9600 9601 #line 2717 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9602 WriteTo(__razor_helper_writer, settings.ProductId); 9603 9604 9605 #line default 9606 #line hidden 9607 WriteLiteralTo(__razor_helper_writer, "\");\r\n });\r\n\r\n MatrixUpdateQuantity = function (productId) {" + 9608 "\r\n var currentMatrix = document.getElementById(\"VariantMatrixTabl" + 9609 "e_\" + productId);\r\n var allQtyFields = currentMatrix.getElementsB" + 9610 "yClassName(\"js-qty\");\r\n\r\n var qtyRowArr = [];\r\n va" + 9611 "r qtyColumnArr = [];\r\n\r\n var totalQty = 0;\r\n\r\n for" + 9612 " (var i = 0; i < allQtyFields.length; i++) {\r\n qtyRowArr[allQ" + 9613 "tyFields[i].getAttribute(\"data-qty-row-group\")] = 0;\r\n qtyCol" + 9614 "umnArr[allQtyFields[i].getAttribute(\"data-qty-column-group\")] = 0;\r\n " + 9615 " }\r\n\r\n for (var i = 0; i < allQtyFields.length; i++) {\r\n " + 9616 " qtyRowArr[allQtyFields[i].getAttribute(\"data-qty-row-group\")] += p" + 9617 "arseFloat(allQtyFields[i].value);\r\n qtyColumnArr[allQtyFields" + 9618 "[i].getAttribute(\"data-qty-column-group\")] += parseFloat(allQtyFields[i].value);" + 9619 "\r\n totalQty += parseFloat(allQtyFields[i].value);\r\n " + 9620 " }\r\n\r\n //Update row counters\r\n for (var i = 0" + 9621 "; i < qtyRowArr.length; i++) {\r\n var qtyCounter = currentMatr" + 9622 "ix.getElementsByClassName(\"js-total-qty-row-\" + i)[0];\r\n\r\n if" + 9623 " (qtyRowArr[i] != undefined && qtyCounter != null) {\r\n va" + 9624 "r currentCount = qtyCounter.innerHTML;\r\n qtyCounter.inner" + 9625 "HTML = qtyRowArr[i];\r\n\r\n if (currentCount != qtyCounter.i" + 9626 "nnerHTML) {\r\n qtyCounter.classList.add(\"qty-field--ac" + 9627 "tive\");\r\n }\r\n }\r\n \r\n " + 9628 " }\r\n\r\n //Update column counters\r\n for (var i =" + 9629 " 0; i < qtyColumnArr.length; i++) {\r\n var qtyCounter = curren" + 9630 "tMatrix.getElementsByClassName(\"js-total-qty-column-\" + i)[0];\r\n\r\n " + 9631 " if (qtyColumnArr[i] != undefined && qtyCounter != null) {\r\n " + 9632 " var currentCount = qtyCounter.innerHTML;\r\n qtyCo" + 9633 "unter.innerHTML = qtyColumnArr[i];\r\n\r\n if (currentCount !" + 9634 "= qtyCounter.innerHTML) {\r\n qtyCounter.classList.add(" + 9635 "\"qty-field--active\");\r\n }\r\n }\r\n " + 9636 " }\r\n\r\n if (document.getElementById(\"TotalQtyCount_\" + pro" + 9637 "ductId)) {\r\n document.getElementById(\"TotalQtyCount_\" + produ" + 9638 "ctId).innerHTML = totalQty;\r\n }\r\n\r\n //Clean up ani" + 9639 "mations\r\n setTimeout(function () {\r\n for (var " + 9640 "i = 0; i < qtyRowArr.length; i++) {\r\n var qtyCounter = cu" + 9641 "rrentMatrix.getElementsByClassName(\"js-total-qty-row-\" + i)[0];\r\n " + 9642 " if (qtyCounter != null) {\r\n qtyCounter.class" + 9643 "List.remove(\"qty-field--active\");\r\n }\r\n " + 9644 " }\r\n for (var i = 0; i < qtyColumnArr.length; i++) {\r\n " + 9645 " var qtyCounter = currentMatrix.getElementsByClassName(\"js-tota" + 9646 "l-qty-column-\" + i)[0];\r\n if (qtyCounter != null) {\r\n " + 9647 " qtyCounter.classList.remove(\"qty-field--active\");\r\n " + 9648 " }\r\n }\r\n }, 1000);\r\n " + 9649 " }\r\n </script>\r\n"); 9650 9651 9652 #line 2790 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9653 } 9654 9655 9656 #line default 9657 #line hidden 9658 }); 9659 9660 #line 2791 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9661 } 9662 #line default 9663 #line hidden 9664 9665 9666 #line 2793 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9667 public RazorEngine.Templating.TemplateWriter RenderVariantMatrixQuantityField(string variantId, VariantMatrix settings, int productLoopCounter, int rowCount, int columnCount) 9668 { 9669 #line default 9670 #line hidden 9671 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 9672 9673 #line 2794 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9674 9675 string loopCount = productLoopCounter.ToString(); 9676 9677 bool combinationFound = false; 9678 double stock = 0; 9679 double quantityValue = 0; 9680 string note = ""; 9681 9682 VariantProduct variantProduct = null; 9683 9684 if (settings.GetVariantProducts().TryGetValue(variantId, out variantProduct)) 9685 { 9686 stock = variantProduct.Stock; 9687 quantityValue = variantProduct.Quantity; 9688 combinationFound = true; 9689 } 9690 9691 if (combinationFound) 9692 { 9693 9694 9695 #line default 9696 #line hidden 9697 WriteLiteralTo(__razor_helper_writer, " <input"); 9698 9699 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 9700 9701 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 110399), Tuple.Create("\"", 110436) 9702 , Tuple.Create(Tuple.Create("", 110406), Tuple.Create("ProductLoopCounter", 110406), true) 9703 9704 #line 2813 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9705 , Tuple.Create(Tuple.Create("", 110424), Tuple.Create<System.Object, System.Int32>(loopCount 9706 9707 #line default 9708 #line hidden 9709 , 110424), false) 9710 ); 9711 9712 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 110437), Tuple.Create("\"", 110455) 9713 9714 #line 2813 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9715 , Tuple.Create(Tuple.Create("", 110445), Tuple.Create<System.Object, System.Int32>(loopCount 9716 9717 #line default 9718 #line hidden 9719 , 110445), false) 9720 ); 9721 9722 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 9723 9724 WriteLiteralTo(__razor_helper_writer, " <input"); 9725 9726 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 9727 9728 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 110489), Tuple.Create("\"", 110517) 9729 , Tuple.Create(Tuple.Create("", 110496), Tuple.Create("ProductID", 110496), true) 9730 9731 #line 2814 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9732 , Tuple.Create(Tuple.Create("", 110505), Tuple.Create<System.Object, System.Int32>(loopCount 9733 9734 #line default 9735 #line hidden 9736 , 110505), false) 9737 ); 9738 9739 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 110518), Tuple.Create("\"", 110545) 9740 9741 #line 2814 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9742 , Tuple.Create(Tuple.Create("", 110526), Tuple.Create<System.Object, System.Int32>(settings.ProductId 9743 9744 #line default 9745 #line hidden 9746 , 110526), false) 9747 ); 9748 9749 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 9750 9751 WriteLiteralTo(__razor_helper_writer, " <input"); 9752 9753 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 9754 9755 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 110579), Tuple.Create("\"", 110607) 9756 , Tuple.Create(Tuple.Create("", 110586), Tuple.Create("VariantID", 110586), true) 9757 9758 #line 2815 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9759 , Tuple.Create(Tuple.Create("", 110595), Tuple.Create<System.Object, System.Int32>(loopCount 9760 9761 #line default 9762 #line hidden 9763 , 110595), false) 9764 ); 9765 9766 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 110608), Tuple.Create("\"", 110626) 9767 9768 #line 2815 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9769 , Tuple.Create(Tuple.Create("", 110616), Tuple.Create<System.Object, System.Int32>(variantId 9770 9771 #line default 9772 #line hidden 9773 , 110616), false) 9774 ); 9775 9776 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 9777 9778 WriteLiteralTo(__razor_helper_writer, " <input"); 9779 9780 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 9781 9782 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 110660), Tuple.Create("\"", 110690) 9783 , Tuple.Create(Tuple.Create("", 110667), Tuple.Create("CurrentNote", 110667), true) 9784 9785 #line 2816 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9786 , Tuple.Create(Tuple.Create("", 110678), Tuple.Create<System.Object, System.Int32>(loopCount 9787 9788 #line default 9789 #line hidden 9790 , 110678), false) 9791 ); 9792 9793 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 110691), Tuple.Create("\"", 110740) 9794 , Tuple.Create(Tuple.Create("", 110696), Tuple.Create("CurrentNote_", 110696), true) 9795 9796 #line 2816 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9797 , Tuple.Create(Tuple.Create("", 110708), Tuple.Create<System.Object, System.Int32>(settings.ProductId 9798 9799 #line default 9800 #line hidden 9801 , 110708), false) 9802 , Tuple.Create(Tuple.Create("", 110729), Tuple.Create("_", 110729), true) 9803 9804 #line 2816 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9805 , Tuple.Create(Tuple.Create("", 110730), Tuple.Create<System.Object, System.Int32>(variantId 9806 9807 #line default 9808 #line hidden 9809 , 110730), false) 9810 ); 9811 9812 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 110741), Tuple.Create("\"", 110754) 9813 9814 #line 2816 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9815 , Tuple.Create(Tuple.Create("", 110749), Tuple.Create<System.Object, System.Int32>(note 9816 9817 #line default 9818 #line hidden 9819 , 110749), false) 9820 ); 9821 9822 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 9823 9824 WriteLiteralTo(__razor_helper_writer, " <input"); 9825 9826 WriteLiteralTo(__razor_helper_writer, " type=\"number\""); 9827 9828 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 110788), Tuple.Create("\"", 110815) 9829 , Tuple.Create(Tuple.Create("", 110795), Tuple.Create("Quantity", 110795), true) 9830 9831 #line 2817 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9832 , Tuple.Create(Tuple.Create("", 110803), Tuple.Create<System.Object, System.Int32>(loopCount 9833 9834 #line default 9835 #line hidden 9836 , 110803), false) 9837 ); 9838 9839 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 110816), Tuple.Create("\"", 110862) 9840 , Tuple.Create(Tuple.Create("", 110821), Tuple.Create("Quantity_", 110821), true) 9841 9842 #line 2817 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9843 , Tuple.Create(Tuple.Create("", 110830), Tuple.Create<System.Object, System.Int32>(settings.ProductId 9844 9845 #line default 9846 #line hidden 9847 , 110830), false) 9848 , Tuple.Create(Tuple.Create("", 110851), Tuple.Create("_", 110851), true) 9849 9850 #line 2817 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9851 , Tuple.Create(Tuple.Create("", 110852), Tuple.Create<System.Object, System.Int32>(variantId 9852 9853 #line default 9854 #line hidden 9855 , 110852), false) 9856 ); 9857 9858 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 110863), Tuple.Create("\"", 110885) 9859 9860 #line 2817 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9861 , Tuple.Create(Tuple.Create("", 110871), Tuple.Create<System.Object, System.Int32>(quantityValue 9862 9863 #line default 9864 #line hidden 9865 , 110871), false) 9866 ); 9867 9868 WriteLiteralTo(__razor_helper_writer, " min=\"0\""); 9869 9870 WriteLiteralTo(__razor_helper_writer, " class=\"js-qty u-no-margin u-full-max-width\""); 9871 9872 WriteLiteralTo(__razor_helper_writer, " style=\"width: 100%; max-width: 100%\""); 9873 9874 WriteAttributeTo(__razor_helper_writer, "onkeyup", Tuple.Create(" onkeyup=\"", 110975), Tuple.Create("\"", 111028) 9875 , Tuple.Create(Tuple.Create("", 110985), Tuple.Create("MatrixUpdateQuantity(\'", 110985), true) 9876 9877 #line 2817 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9878 , Tuple.Create(Tuple.Create("", 111007), Tuple.Create<System.Object, System.Int32>(settings.ProductId 9879 9880 #line default 9881 #line hidden 9882 , 111007), false) 9883 , Tuple.Create(Tuple.Create("", 111026), Tuple.Create("\')", 111026), true) 9884 ); 9885 9886 WriteAttributeTo(__razor_helper_writer, "onmouseup", Tuple.Create(" onmouseup=\"", 111029), Tuple.Create("\"", 111084) 9887 , Tuple.Create(Tuple.Create("", 111041), Tuple.Create("MatrixUpdateQuantity(\'", 111041), true) 9888 9889 #line 2817 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9890 , Tuple.Create(Tuple.Create("", 111063), Tuple.Create<System.Object, System.Int32>(settings.ProductId 9891 9892 #line default 9893 #line hidden 9894 , 111063), false) 9895 , Tuple.Create(Tuple.Create("", 111082), Tuple.Create("\')", 111082), true) 9896 ); 9897 9898 WriteLiteralTo(__razor_helper_writer, " data-qty-row-group=\""); 9899 9900 9901 #line 2817 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9902 WriteTo(__razor_helper_writer, rowCount); 9903 9904 9905 #line default 9906 #line hidden 9907 WriteLiteralTo(__razor_helper_writer, "\""); 9908 9909 WriteLiteralTo(__razor_helper_writer, " data-qty-column-group=\""); 9910 9911 9912 #line 2817 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9913 WriteTo(__razor_helper_writer, columnCount); 9914 9915 9916 #line default 9917 #line hidden 9918 WriteLiteralTo(__razor_helper_writer, "\""); 9919 9920 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 9921 9922 9923 #line 2818 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9924 9925 if (stock != 0) 9926 { 9927 9928 9929 #line default 9930 #line hidden 9931 WriteLiteralTo(__razor_helper_writer, " <small>"); 9932 9933 9934 #line 2821 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9935 WriteTo(__razor_helper_writer, Translate("Stock")); 9936 9937 9938 #line default 9939 #line hidden 9940 WriteLiteralTo(__razor_helper_writer, " "); 9941 9942 9943 #line 2821 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9944 WriteTo(__razor_helper_writer, stock); 9945 9946 9947 #line default 9948 #line hidden 9949 WriteLiteralTo(__razor_helper_writer, "</small>\r\n"); 9950 9951 9952 #line 2822 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9953 } 9954 9955 9956 9957 #line default 9958 #line hidden 9959 WriteLiteralTo(__razor_helper_writer, " <script>\r\n var variants = \'{ \"ProductId\" :\' + \'\""); 9960 9961 9962 #line 2825 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9963 WriteTo(__razor_helper_writer, settings.ProductId); 9964 9965 9966 #line default 9967 #line hidden 9968 WriteLiteralTo(__razor_helper_writer, "\"\' + \', \"VariantId\": \' + \'\""); 9969 9970 9971 #line 2825 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9972 WriteTo(__razor_helper_writer, variantId); 9973 9974 9975 #line default 9976 #line hidden 9977 WriteLiteralTo(__razor_helper_writer, "\"\' +\'}\';\r\n variantsCollection.push(variants);\r\n document.ge" + 9978 "tElementById(\"Quantity_"); 9979 9980 9981 #line 2827 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9982 WriteTo(__razor_helper_writer, settings.ProductId); 9983 9984 9985 #line default 9986 #line hidden 9987 WriteLiteralTo(__razor_helper_writer, "_"); 9988 9989 9990 #line 2827 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 9991 WriteTo(__razor_helper_writer, variantId); 9992 9993 9994 #line default 9995 #line hidden 9996 WriteLiteralTo(__razor_helper_writer, "\").closest(\".js-variants-matrix\").setAttribute(\"data-variants-collection\", \"[\" + " + 9997 "variantsCollection + \"]\" );\r\n </script>\r\n"); 9998 9999 10000 #line 2829 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10001 } 10002 else 10003 { 10004 10005 10006 #line default 10007 #line hidden 10008 WriteLiteralTo(__razor_helper_writer, " <div"); 10009 10010 WriteLiteralTo(__razor_helper_writer, " class=\"use-btn-height\""); 10011 10012 WriteLiteralTo(__razor_helper_writer, " style=\"background-color: #a8a8a8\""); 10013 10014 WriteLiteralTo(__razor_helper_writer, "></div>\r\n"); 10015 10016 10017 #line 2833 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10018 } 10019 10020 10021 #line default 10022 #line hidden 10023 }); 10024 10025 #line 2834 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10026 } 10027 #line default 10028 #line hidden 10029 10030 10031 #line 2839 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10032 public RazorEngine.Templating.TemplateWriter RenderAddToCart(AddToCart settings) 10033 { 10034 #line default 10035 #line hidden 10036 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 10037 10038 #line 2840 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10039 10040 //set Id for quantity selector to get it's value from button 10041 if (settings.QuantitySelector != null) 10042 { 10043 if (string.IsNullOrEmpty(settings.QuantitySelector.Id)) 10044 { 10045 settings.QuantitySelector.Id = Guid.NewGuid().ToString("N"); 10046 } 10047 10048 settings.AddButton.QuantitySelectorId = settings.QuantitySelector.Id; 10049 10050 if (settings.Disabled) 10051 { 10052 settings.QuantitySelector.Disabled = true; 10053 } 10054 10055 if (string.IsNullOrEmpty(settings.QuantitySelector.Name)) 10056 { 10057 settings.QuantitySelector.Name = settings.QuantitySelector.Id; 10058 } 10059 10060 settings.QuantitySelector.Max = "{{availableAmount}}"; 10061 } 10062 10063 if (settings.Disabled) 10064 { 10065 settings.AddButton.Disabled = true; 10066 } 10067 10068 settings.AddButton.CssClass += " btn--condensed"; 10069 10070 //unitsSelector 10071 if (settings.UnitSelector != null) 10072 { 10073 if (settings.Disabled) 10074 { 10075 settings.QuantitySelector.Disabled = true; 10076 } 10077 } 10078 10079 10080 10081 #line default 10082 #line hidden 10083 WriteLiteralTo(__razor_helper_writer, " <div"); 10084 10085 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 112957), Tuple.Create("\"", 113009) 10086 , Tuple.Create(Tuple.Create("", 112965), Tuple.Create("buttons-collection", 112965), true) 10087 10088 #line 2880 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10089 , Tuple.Create(Tuple.Create(" ", 112983), Tuple.Create<System.Object, System.Int32>(settings.WrapperCssClass 10090 10091 #line default 10092 #line hidden 10093 , 112984), false) 10094 ); 10095 10096 WriteLiteralTo(__razor_helper_writer, " "); 10097 10098 10099 #line 2880 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10100 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 10101 10102 10103 #line default 10104 #line hidden 10105 WriteLiteralTo(__razor_helper_writer, "> \r\n"); 10106 10107 10108 #line 2881 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10109 10110 10111 #line default 10112 #line hidden 10113 10114 #line 2881 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10115 if (settings.UnitSelector != null) 10116 { 10117 10118 10119 #line default 10120 #line hidden 10121 10122 #line 2883 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10123 WriteTo(__razor_helper_writer, Render(settings.UnitSelector)); 10124 10125 10126 #line default 10127 #line hidden 10128 10129 #line 2883 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10130 10131 } 10132 10133 10134 #line default 10135 #line hidden 10136 WriteLiteralTo(__razor_helper_writer, " "); 10137 10138 10139 #line 2885 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10140 if (settings.QuantitySelector != null) 10141 { 10142 10143 10144 #line default 10145 #line hidden 10146 10147 #line 2887 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10148 WriteTo(__razor_helper_writer, Render(settings.QuantitySelector)); 10149 10150 10151 #line default 10152 #line hidden 10153 10154 #line 2887 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10155 10156 } 10157 10158 10159 #line default 10160 #line hidden 10161 WriteLiteralTo(__razor_helper_writer, " "); 10162 10163 10164 #line 2889 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10165 WriteTo(__razor_helper_writer, Render(settings.AddButton)); 10166 10167 10168 #line default 10169 #line hidden 10170 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 10171 10172 10173 #line 2891 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10174 10175 10176 #line default 10177 #line hidden 10178 }); 10179 10180 #line 2891 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10181 } 10182 #line default 10183 #line hidden 10184 10185 10186 #line 2897 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10187 public RazorEngine.Templating.TemplateWriter RenderAddToCartButton(AddToCartButton settings) 10188 { 10189 #line default 10190 #line hidden 10191 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 10192 10193 #line 2898 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10194 10195 if (!settings.HideTitle) 10196 { 10197 if (string.IsNullOrEmpty(settings.Title)) 10198 { 10199 if (settings.BuyForPoints) 10200 { 10201 settings.Title = Translate("Buy with points"); 10202 } 10203 else 10204 { 10205 settings.Title = Translate("Add to cart"); 10206 } 10207 } 10208 } 10209 else 10210 { 10211 settings.Title = ""; 10212 10213 if (settings.BuyForPoints) 10214 { 10215 settings.AltText = Translate("Buy with points"); 10216 } 10217 else 10218 { 10219 settings.AltText = Translate("Add to cart"); 10220 } 10221 } 10222 10223 var webServiceConnectionAvailableTag = Pageview.GlobalTags.GetTagByName("Global:LiveIntegration.IsWebServiceConnectionAvailable"); 10224 var erpDownDisableAddToCart = Pageview.AreaSettings.GetItem("Rizzo").GetBoolean("ErpDownDisableAddToCart"); 10225 if (webServiceConnectionAvailableTag != null && !Converter.ToBoolean(webServiceConnectionAvailableTag.Value) && erpDownDisableAddToCart) 10226 { 10227 settings.Disabled = true; 10228 settings.AltText = Translate("Temporarily unavailable"); 10229 } 10230 10231 if (settings.Icon == null) 10232 { 10233 settings.Icon = new Icon(); 10234 settings.Icon.LabelPosition = Dynamicweb.Rapido.Blocks.Components.General.IconLabelPosition.After; 10235 } 10236 10237 if (string.IsNullOrEmpty(settings.Icon.Name)) 10238 { 10239 settings.Icon.Name = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue; 10240 } 10241 10242 string cartArgs = "{ " + 10243 "id: '" + settings.ProductId + "'," + 10244 (!string.IsNullOrEmpty(settings.VariantId) ? "variantId: '" + settings.VariantId + "'," : "") + 10245 (!string.IsNullOrEmpty(settings.UnitId) ? "unitId: '" + settings.UnitId + "'," : "") + 10246 (settings.BuyForPoints ? "buyForPoints: true," : "") + 10247 (!string.IsNullOrEmpty(settings.ProductInfo) ? "productInfo: " + settings.ProductInfo + "," : "") + 10248 "quantity: " + (string.IsNullOrEmpty(settings.QuantitySelectorId) ? "1" : "parseFloat(document.getElementById('" + settings.QuantitySelectorId + "').value)") + 10249 "}"; 10250 string stockValidationUrl = Dna.StockValidation.Product.GetValidationUrl(GetPageIdByNavigationTag("StockValidation"), settings.ProductId, settings.VariantId, settings.UnitId, Pageview.Area.EcomLanguageId); 10251 10252 settings.OnClick = "StockValidation.AddToCartValidation(event, " + cartArgs + ", '" + stockValidationUrl + "');" + settings.OnClick; 10253 10254 10255 10256 #line default 10257 #line hidden 10258 10259 #line 2958 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10260 WriteTo(__razor_helper_writer, RenderButton(settings)); 10261 10262 10263 #line default 10264 #line hidden 10265 10266 #line 2958 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10267 10268 10269 10270 #line default 10271 #line hidden 10272 }); 10273 10274 #line 2959 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10275 } 10276 #line default 10277 #line hidden 10278 10279 10280 #line 2964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10281 public RazorEngine.Templating.TemplateWriter RenderUnitSelector(UnitSelector settings) 10282 { 10283 #line default 10284 #line hidden 10285 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 10286 10287 #line 2965 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10288 10289 if (string.IsNullOrEmpty(settings.Id)) 10290 { 10291 settings.Id = Guid.NewGuid().ToString("N"); 10292 } 10293 var disabledClass = settings.Disabled ? "disabled" : ""; 10294 10295 10296 10297 #line default 10298 #line hidden 10299 WriteLiteralTo(__razor_helper_writer, " <input"); 10300 10301 WriteLiteralTo(__razor_helper_writer, " type=\"checkbox\""); 10302 10303 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 116537), Tuple.Create("\"", 116554) 10304 10305 #line 2972 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10306 , Tuple.Create(Tuple.Create("", 116542), Tuple.Create<System.Object, System.Int32>(settings.Id 10307 10308 #line default 10309 #line hidden 10310 , 116542), false) 10311 ); 10312 10313 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown-trigger\""); 10314 10315 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 10316 10317 WriteLiteralTo(__razor_helper_writer, " <div"); 10318 10319 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 116593), Tuple.Create("\"", 116664) 10320 , Tuple.Create(Tuple.Create("", 116601), Tuple.Create("dropdown", 116601), true) 10321 , Tuple.Create(Tuple.Create(" ", 116609), Tuple.Create("unit-selector", 116610), true) 10322 10323 #line 2973 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10324 , Tuple.Create(Tuple.Create(" ", 116623), Tuple.Create<System.Object, System.Int32>(settings.CssClass 10325 10326 #line default 10327 #line hidden 10328 , 116624), false) 10329 10330 #line 2973 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10331 , Tuple.Create(Tuple.Create(" ", 116642), Tuple.Create<System.Object, System.Int32>(disabledClass 10332 10333 #line default 10334 #line hidden 10335 , 116643), false) 10336 , Tuple.Create(Tuple.Create(" ", 116657), Tuple.Create("dw-mod", 116658), true) 10337 ); 10338 10339 WriteLiteralTo(__razor_helper_writer, " "); 10340 10341 10342 #line 2973 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10343 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(settings.ExtraAttributes)); 10344 10345 10346 #line default 10347 #line hidden 10348 WriteLiteralTo(__razor_helper_writer, ">\r\n <label"); 10349 10350 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown__header dropdown__btn dropdown__btn--unit-selector dw-mod\""); 10351 10352 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 116815), Tuple.Create("\"", 116833) 10353 10354 #line 2974 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10355 , Tuple.Create(Tuple.Create("", 116821), Tuple.Create<System.Object, System.Int32>(settings.Id 10356 10357 #line default 10358 #line hidden 10359 , 116821), false) 10360 ); 10361 10362 WriteLiteralTo(__razor_helper_writer, ">"); 10363 10364 10365 #line 2974 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10366 WriteTo(__razor_helper_writer, settings.SelectedOption); 10367 10368 10369 #line default 10370 #line hidden 10371 WriteLiteralTo(__razor_helper_writer, "</label>\r\n <div"); 10372 10373 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown__content dw-mod\""); 10374 10375 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 10376 10377 WriteLiteralTo(__razor_helper_writer, " "); 10378 10379 10380 #line 2976 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10381 WriteTo(__razor_helper_writer, settings.OptionsContent); 10382 10383 10384 #line default 10385 #line hidden 10386 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n <label"); 10387 10388 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown-trigger-off\""); 10389 10390 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 117014), Tuple.Create("\"", 117032) 10391 10392 #line 2978 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10393 , Tuple.Create(Tuple.Create("", 117020), Tuple.Create<System.Object, System.Int32>(settings.Id 10394 10395 #line default 10396 #line hidden 10397 , 117020), false) 10398 ); 10399 10400 WriteLiteralTo(__razor_helper_writer, "></label>\r\n </div>\r\n"); 10401 10402 10403 #line 2980 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10404 10405 10406 #line default 10407 #line hidden 10408 }); 10409 10410 #line 2980 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10411 } 10412 #line default 10413 #line hidden 10414 10415 10416 #line 2986 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10417 public RazorEngine.Templating.TemplateWriter RenderQuantitySelector(QuantitySelector settings) 10418 { 10419 #line default 10420 #line hidden 10421 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 10422 10423 #line 2987 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10424 10425 var attributes = new Dictionary<string, string>(); 10426 10427 /*base settings*/ 10428 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 10429 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 10430 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 10431 if (settings.Disabled) { attributes.Add("disabled", "true"); } 10432 if (settings.Required) { attributes.Add("required", "true"); } 10433 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 10434 /*end*/ 10435 10436 if (!string.IsNullOrEmpty(settings.OnKeyUp)) { attributes.Add("onkeyup", settings.OnKeyUp); } 10437 if (!string.IsNullOrEmpty(settings.OnInput)) { attributes.Add("oninput", settings.OnInput); } 10438 if (!string.IsNullOrEmpty(settings.OnFocus)) { attributes.Add("onfocus", settings.OnFocus); } 10439 if (settings.ReadOnly) { attributes.Add("readonly", "true"); } 10440 if (settings.Max != null) { attributes.Add("max", settings.Max.ToString()); } 10441 if (settings.Min == null) { settings.Min = 1; } 10442 attributes.Add("min", settings.Min.ToString()); 10443 if (settings.Step != null && !string.IsNullOrEmpty(settings.Step.ToString())) { attributes.Add("step", settings.Step.ToString()); } 10444 if (settings.Value == null) { settings.Value = 1; } 10445 attributes.Add("value", settings.Value.ToString()); 10446 attributes.Add("type", "number"); 10447 attributes.Add("aria-label", Translate("Quantity")); 10448 10449 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 10450 10451 10452 10453 #line default 10454 #line hidden 10455 WriteLiteralTo(__razor_helper_writer, " <input "); 10456 10457 10458 #line 3014 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10459 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(resultAttributes)); 10460 10461 10462 #line default 10463 #line hidden 10464 WriteLiteralTo(__razor_helper_writer, " class=\""); 10465 10466 10467 #line 3014 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10468 WriteTo(__razor_helper_writer, settings.CssClass); 10469 10470 10471 #line default 10472 #line hidden 10473 WriteLiteralTo(__razor_helper_writer, " dw-mod\" />\r\n"); 10474 10475 10476 #line 3015 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10477 10478 10479 #line default 10480 #line hidden 10481 }); 10482 10483 #line 3015 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10484 } 10485 #line default 10486 #line hidden 10487 10488 10489 #line 3027 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10490 10491 private static string GetListHeaderItem(CustomerCenterList settings, int index) 10492 { 10493 var headers = settings.GetHeaders(); 10494 10495 if (headers.Length < 1 || headers.Length < index) return ""; 10496 10497 CustomerCenterListHeaderItem header = (CustomerCenterListHeaderItem)headers[index]; 10498 10499 if (header == null) return ""; 10500 10501 var doc = new HtmlDocument(); 10502 doc.LoadHtml(header.Title); 10503 10504 return doc.DocumentNode.SelectNodes("//div")?.First().InnerText ?? header.Title; 10505 } 10506 10507 #line default 10508 #line hidden 10509 10510 10511 #line 3044 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10512 public RazorEngine.Templating.TemplateWriter RenderCustomerCenterList(CustomerCenterList settings) 10513 { 10514 #line default 10515 #line hidden 10516 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 10517 10518 #line 3045 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10519 10520 bool isTouchDevice = Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet" ? true : false; 10521 string hideActions = isTouchDevice ? "u-block" : ""; 10522 10523 10524 10525 #line default 10526 #line hidden 10527 WriteLiteralTo(__razor_helper_writer, " <table"); 10528 10529 WriteLiteralTo(__razor_helper_writer, " class=\"table data-list table--responsive dw-mod\""); 10530 10531 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 10532 10533 10534 #line 3050 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10535 10536 10537 #line default 10538 #line hidden 10539 10540 #line 3050 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10541 if (settings.GetHeaders().Length > 0) { 10542 10543 10544 #line default 10545 #line hidden 10546 WriteLiteralTo(__razor_helper_writer, " <thead>\r\n <tr"); 10547 10548 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold\""); 10549 10550 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 10551 10552 10553 #line 3053 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10554 10555 10556 #line default 10557 #line hidden 10558 10559 #line 3053 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10560 foreach (CustomerCenterListHeaderItem header in settings.GetHeaders()) 10561 { 10562 var attributes = new Dictionary<string, string>(); 10563 if (!string.IsNullOrEmpty(header.Id)) { attributes.Add("id", header.Id); } 10564 if (!string.IsNullOrEmpty(header.CssClass)) { attributes.Add("class", header.CssClass); } 10565 attributes.Add("align", header.Align.ToString()); 10566 attributes = attributes.Concat(header.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 10567 10568 10569 10570 #line default 10571 #line hidden 10572 WriteLiteralTo(__razor_helper_writer, " <td "); 10573 10574 10575 #line 3061 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10576 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(attributes)); 10577 10578 10579 #line default 10580 #line hidden 10581 WriteLiteralTo(__razor_helper_writer, ">"); 10582 10583 10584 #line 3061 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10585 WriteTo(__razor_helper_writer, header.Title); 10586 10587 10588 #line default 10589 #line hidden 10590 WriteLiteralTo(__razor_helper_writer, "</td>\r\n"); 10591 10592 10593 #line 3062 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10594 } 10595 10596 10597 #line default 10598 #line hidden 10599 WriteLiteralTo(__razor_helper_writer, " </tr>\r\n </thead>\r\n"); 10600 10601 10602 #line 3065 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10603 } 10604 10605 10606 #line default 10607 #line hidden 10608 WriteLiteralTo(__razor_helper_writer, " "); 10609 10610 10611 #line 3066 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10612 foreach (CustomerCenterListItem listItem in settings.GetItems()) 10613 { 10614 int columnCount = 0; 10615 int headerIndex = 0; 10616 int totalColumns = listItem.GetInfoItems().Length; 10617 string rowHasActions = listItem.GetActions().Length > 0 ? "data-list__item--has-actions" : ""; 10618 listItem.Id = !string.IsNullOrEmpty(listItem.Id) ? listItem.Id : Guid.NewGuid().ToString("N"); 10619 10620 var attributes = new Dictionary<string, string>(); 10621 if (!string.IsNullOrEmpty(listItem.Title)) { attributes.Add("title", listItem.Title); }; 10622 10623 attributes = attributes.Concat(listItem.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 10624 10625 10626 #line default 10627 #line hidden 10628 WriteLiteralTo(__razor_helper_writer, " <tbody"); 10629 10630 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 121839), Tuple.Create("\"", 121903) 10631 , Tuple.Create(Tuple.Create("", 121847), Tuple.Create("data-list__item", 121847), true) 10632 10633 #line 3078 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10634 , Tuple.Create(Tuple.Create(" ", 121862), Tuple.Create<System.Object, System.Int32>(rowHasActions 10635 10636 #line default 10637 #line hidden 10638 , 121863), false) 10639 10640 #line 3078 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10641 , Tuple.Create(Tuple.Create(" ", 121877), Tuple.Create<System.Object, System.Int32>(listItem.CssClass 10642 10643 #line default 10644 #line hidden 10645 , 121878), false) 10646 , Tuple.Create(Tuple.Create(" ", 121896), Tuple.Create("dw-mod", 121897), true) 10647 ); 10648 10649 WriteLiteralTo(__razor_helper_writer, " "); 10650 10651 10652 #line 3078 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10653 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(attributes)); 10654 10655 10656 #line default 10657 #line hidden 10658 WriteLiteralTo(__razor_helper_writer, ">\r\n <tr>\r\n"); 10659 10660 10661 #line 3080 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10662 10663 10664 #line default 10665 #line hidden 10666 10667 #line 3080 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10668 if (!string.IsNullOrEmpty(listItem.Title) || !string.IsNullOrEmpty(listItem.Description)) { 10669 string onClick = !string.IsNullOrEmpty(listItem.OnClick) ? "onclick=\"" + listItem.OnClick + "\"" : ""; 10670 headerIndex++; 10671 10672 10673 10674 #line default 10675 #line hidden 10676 WriteLiteralTo(__razor_helper_writer, " <td"); 10677 10678 WriteLiteralTo(__razor_helper_writer, " rowspan=\"2\""); 10679 10680 WriteLiteralTo(__razor_helper_writer, " "); 10681 10682 10683 #line 3084 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10684 WriteTo(__razor_helper_writer, onClick); 10685 10686 10687 #line default 10688 #line hidden 10689 WriteLiteralTo(__razor_helper_writer, " class=\"data-list__main-item dw-mod\">\r\n"); 10690 10691 10692 #line 3085 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10693 10694 10695 #line default 10696 #line hidden 10697 10698 #line 3085 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10699 if (!string.IsNullOrEmpty(listItem.Title)) { 10700 10701 10702 #line default 10703 #line hidden 10704 WriteLiteralTo(__razor_helper_writer, " <div"); 10705 10706 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold\""); 10707 10708 WriteLiteralTo(__razor_helper_writer, ">"); 10709 10710 10711 #line 3086 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10712 WriteTo(__razor_helper_writer, listItem.Title); 10713 10714 10715 #line default 10716 #line hidden 10717 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 10718 10719 10720 #line 3087 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10721 } 10722 10723 10724 #line default 10725 #line hidden 10726 WriteLiteralTo(__razor_helper_writer, " "); 10727 10728 10729 #line 3088 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10730 if (!string.IsNullOrEmpty(listItem.Description)) { 10731 10732 10733 #line default 10734 #line hidden 10735 WriteLiteralTo(__razor_helper_writer, " <div>"); 10736 10737 10738 #line 3089 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10739 WriteTo(__razor_helper_writer, listItem.Description); 10740 10741 10742 #line default 10743 #line hidden 10744 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 10745 10746 10747 #line 3090 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10748 } 10749 10750 10751 #line default 10752 #line hidden 10753 WriteLiteralTo(__razor_helper_writer, " </td>\r\n"); 10754 10755 10756 #line 3092 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10757 } 10758 10759 10760 #line default 10761 #line hidden 10762 WriteLiteralTo(__razor_helper_writer, "\r\n"); 10763 10764 10765 #line 3094 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10766 10767 10768 #line default 10769 #line hidden 10770 10771 #line 3094 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10772 foreach (CustomerCenterListInfoItem infoItem in listItem.GetInfoItems()) 10773 { 10774 var infoAttributes = new Dictionary<string, string>(); 10775 if (!string.IsNullOrEmpty(infoItem.Id)) { infoAttributes.Add("id", infoItem.Id); }; 10776 if (!string.IsNullOrEmpty(infoItem.OnClick)) { infoAttributes.Add("onclick", infoItem.OnClick); }; 10777 infoAttributes.Add("data-th", GetListHeaderItem(settings, headerIndex)); 10778 infoAttributes.Add("align", infoItem.Align.ToString()); 10779 10780 infoAttributes = infoAttributes.Concat(infoItem.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 10781 string columnClick = columnCount < (totalColumns-1) && !string.IsNullOrEmpty(listItem.OnClick) ? "onclick=\"" + listItem.OnClick + "\"" : ""; 10782 10783 10784 10785 #line default 10786 #line hidden 10787 WriteLiteralTo(__razor_helper_writer, " <td "); 10788 10789 10790 #line 3105 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10791 WriteTo(__razor_helper_writer, ComponentMethods.AddAttributes(infoAttributes)); 10792 10793 10794 #line default 10795 #line hidden 10796 WriteLiteralTo(__razor_helper_writer, " "); 10797 10798 10799 #line 3105 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10800 WriteTo(__razor_helper_writer, columnClick); 10801 10802 10803 #line default 10804 #line hidden 10805 WriteLiteralTo(__razor_helper_writer, " class=\""); 10806 10807 10808 #line 3105 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10809 WriteTo(__razor_helper_writer, infoItem.CssClass); 10810 10811 10812 #line default 10813 #line hidden 10814 WriteLiteralTo(__razor_helper_writer, " data-list__info-item dw-mod\">\r\n"); 10815 10816 10817 #line 3106 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10818 10819 10820 #line default 10821 #line hidden 10822 10823 #line 3106 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10824 if (!string.IsNullOrEmpty(infoItem.Title)) { 10825 10826 10827 #line default 10828 #line hidden 10829 WriteLiteralTo(__razor_helper_writer, " <div>"); 10830 10831 10832 #line 3107 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10833 WriteTo(__razor_helper_writer, infoItem.Title); 10834 10835 10836 #line default 10837 #line hidden 10838 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 10839 10840 10841 #line 3108 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10842 } 10843 10844 10845 #line default 10846 #line hidden 10847 WriteLiteralTo(__razor_helper_writer, " "); 10848 10849 10850 #line 3109 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10851 if (!string.IsNullOrEmpty(infoItem.Subtitle)) { 10852 10853 10854 #line default 10855 #line hidden 10856 WriteLiteralTo(__razor_helper_writer, " <div><small>"); 10857 10858 10859 #line 3110 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10860 WriteTo(__razor_helper_writer, infoItem.Subtitle); 10861 10862 10863 #line default 10864 #line hidden 10865 WriteLiteralTo(__razor_helper_writer, "</small></div>\r\n"); 10866 10867 10868 #line 3111 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10869 } 10870 10871 10872 #line default 10873 #line hidden 10874 WriteLiteralTo(__razor_helper_writer, " </td>\r\n"); 10875 10876 10877 #line 3113 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10878 10879 columnCount++; 10880 headerIndex++; 10881 } 10882 10883 10884 #line default 10885 #line hidden 10886 WriteLiteralTo(__razor_helper_writer, " </tr>\r\n"); 10887 10888 10889 #line 3118 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10890 10891 10892 #line default 10893 #line hidden 10894 10895 #line 3118 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10896 if (listItem.GetActions().Any()) 10897 { 10898 10899 10900 #line default 10901 #line hidden 10902 WriteLiteralTo(__razor_helper_writer, " <tr>\r\n <td"); 10903 10904 WriteAttributeTo(__razor_helper_writer, "colspan", Tuple.Create(" colspan=\"", 124348), Tuple.Create("\"", 124371) 10905 10906 #line 3121 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10907 , Tuple.Create(Tuple.Create("", 124358), Tuple.Create<System.Object, System.Int32>(totalColumns 10908 10909 #line default 10910 #line hidden 10911 , 124358), false) 10912 ); 10913 10914 WriteLiteralTo(__razor_helper_writer, " align=\"right\""); 10915 10916 WriteLiteralTo(__razor_helper_writer, " class=\"data-list__actions-row u-va-bottom u-no-border\""); 10917 10918 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 10919 10920 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 124472), Tuple.Create("\"", 124518) 10921 , Tuple.Create(Tuple.Create("", 124480), Tuple.Create("data-list__actions", 124480), true) 10922 10923 #line 3122 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10924 , Tuple.Create(Tuple.Create(" ", 124498), Tuple.Create<System.Object, System.Int32>(hideActions 10925 10926 #line default 10927 #line hidden 10928 , 124499), false) 10929 , Tuple.Create(Tuple.Create(" ", 124511), Tuple.Create("dw-mod", 124512), true) 10930 ); 10931 10932 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 124519), Tuple.Create("\"", 124548) 10933 , Tuple.Create(Tuple.Create("", 124524), Tuple.Create("ActionsMenu_", 124524), true) 10934 10935 #line 3122 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10936 , Tuple.Create(Tuple.Create("", 124536), Tuple.Create<System.Object, System.Int32>(listItem.Id 10937 10938 #line default 10939 #line hidden 10940 , 124536), false) 10941 ); 10942 10943 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 10944 10945 10946 #line 3123 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10947 10948 10949 #line default 10950 #line hidden 10951 10952 #line 3123 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10953 foreach (ButtonBase action in listItem.GetActions()) 10954 { 10955 action.ButtonLayout = ButtonLayout.LinkClean; 10956 action.Icon.CssClass += " u-full-height"; 10957 action.CssClass += " data-list__action-button link"; 10958 10959 10960 10961 #line default 10962 #line hidden 10963 10964 #line 3129 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10965 WriteTo(__razor_helper_writer, Render(action)); 10966 10967 10968 #line default 10969 #line hidden 10970 10971 #line 3129 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10972 10973 } 10974 10975 10976 #line default 10977 #line hidden 10978 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </td>\r\n </tr>\r" + 10979 "\n"); 10980 10981 10982 #line 3134 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10983 } 10984 10985 10986 #line default 10987 #line hidden 10988 WriteLiteralTo(__razor_helper_writer, " </tbody> \r\n"); 10989 10990 10991 #line 3136 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 10992 } 10993 10994 10995 #line default 10996 #line hidden 10997 WriteLiteralTo(__razor_helper_writer, " </table>\r\n"); 10998 10999 11000 #line 3138 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11001 11002 11003 #line default 11004 #line hidden 11005 }); 11006 11007 #line 3138 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11008 } 11009 #line default 11010 #line hidden 11011 11012 11013 #line 3154 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11014 11015 Dictionary<string, StickersListPosition> stickerPositions = new Dictionary<string, StickersListPosition> 11016 { 11017 { "top-left", StickersListPosition.TopLeft }, 11018 { "top-right", StickersListPosition.TopRight }, 11019 { "bottom-left", StickersListPosition.BottomLeft }, 11020 { "bottom-right", StickersListPosition.BottomRight } 11021 }; 11022 11023 public void AddSticker(List<StickersCollection> list, Sticker sticker, StickersListPosition stickerPosition) 11024 { 11025 StickersCollection stickersContainerTemp = list.FirstOrDefault(stickersContainer => stickersContainer.Position == stickerPosition); 11026 if (stickersContainerTemp == null) 11027 { 11028 stickersContainerTemp = new StickersCollection() 11029 { 11030 Position = stickerPosition, 11031 Stickers = new List<Sticker>() 11032 }; 11033 list.Add(stickersContainerTemp); 11034 } 11035 stickersContainerTemp.Stickers.Add(sticker); 11036 } 11037 11038 public List<StickersCollection> GetStickersContainersList(List<LoopItem> discountsLoop, double discountPrice, double price, DateTime createdDate, string customStickerValue) 11039 { 11040 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 11041 bool isSaleStickersEnabled = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("SaleSticker").GetBoolean("Enable"); 11042 bool isNewsStickersEnabled = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("NewSticker").GetBoolean("Enable"); 11043 bool isCustomStickersEnabled = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("CustomSticker").GetBoolean("Enable"); 11044 11045 List<StickersCollection> resultList = new List<StickersCollection>(); 11046 11047 if (!pointShopOnly && isSaleStickersEnabled) 11048 { 11049 string contentType = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("SaleSticker").GetString("ContentType"); 11050 contentType = !string.IsNullOrEmpty(contentType) ? contentType : "Name"; 11051 var currency = Dynamicweb.Ecommerce.Services.Currencies.GetDefaultCurrency(); 11052 Sticker saleSticker = new Sticker(); 11053 saleSticker.CssClass = "stickers-container__tag--sale"; 11054 11055 switch (contentType) 11056 { 11057 case "Name": 11058 foreach (LoopItem discount in discountsLoop) 11059 { 11060 saleSticker.Title = discount.GetString("Ecom:Product.Discount.Name"); 11061 } 11062 break; 11063 case "Amount": 11064 if (discountsLoop.Count > 0) 11065 { 11066 saleSticker.Title = Dynamicweb.Ecommerce.Services.Currencies.Format(currency, discountPrice - price); 11067 } 11068 break; 11069 case "Percents": 11070 double percents = 0; 11071 foreach (LoopItem discount in discountsLoop) 11072 { 11073 percents += discount.GetDouble("Ecom:Product.Discount.PercentWithoutVAT"); 11074 } 11075 if (percents > 0) 11076 { 11077 saleSticker.Title = Math.Round(percents, 0) + "%"; 11078 } 11079 break; 11080 case "Amount and percents": 11081 double amount = 0; 11082 double percent = 0; 11083 foreach (LoopItem discount in discountsLoop) 11084 { 11085 if (discount.GetString("Ecom:Product.Discount.Type") == "PERCENT") 11086 { 11087 percent += discount.GetDouble("Ecom:Product.Discount.PercentWithoutVAT"); 11088 } 11089 else if (discount.GetString("Ecom:Product.Discount.Type") == "AMOUNT") 11090 { 11091 amount += discount.GetDouble("Ecom:Product.Discount.AmountWithVAT"); 11092 } 11093 } 11094 11095 if (percent > 0) 11096 { 11097 saleSticker.Title = percent + "%"; 11098 } 11099 else if (amount > 0) 11100 { 11101 saleSticker.Title = "-" + Dynamicweb.Ecommerce.Services.Currencies.Format(currency, amount); 11102 } 11103 break; 11104 default: 11105 if (discountsLoop.Count > 0) 11106 { 11107 saleSticker.Title = Translate("Sale!"); 11108 } 11109 break; 11110 } 11111 StickersListPosition saleStickerPosition = StickersListPosition.TopLeft; 11112 if (Pageview.AreaSettings.GetItem("Ecommerce").GetItem("SaleSticker").GetList("Position") != null) 11113 { 11114 string value = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("SaleSticker").GetList("Position").SelectedValue; 11115 saleStickerPosition = stickerPositions.ContainsKey(value) ? stickerPositions[value] : stickerPositions["top-left"]; 11116 } 11117 if (!string.IsNullOrEmpty(saleSticker.Title)) 11118 { 11119 AddSticker(resultList, saleSticker, saleStickerPosition); 11120 } 11121 } 11122 11123 if (!pointShopOnly && isNewsStickersEnabled && createdDate.AddDays(Converter.ToDouble(Pageview.AreaSettings.GetItem("Ecommerce").GetItem("NewSticker").GetString("Expiration"))) > DateTime.Now) 11124 { 11125 Sticker newSticker = new Sticker(); 11126 newSticker.CssClass = "stickers-container__tag--new"; 11127 newSticker.Title = Translate("New!"); 11128 11129 StickersListPosition newStickerPosition = StickersListPosition.TopLeft; 11130 if (Pageview.AreaSettings.GetItem("Ecommerce").GetItem("NewSticker").GetList("Position") != null) 11131 { 11132 string value = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("NewSticker").GetList("Position").SelectedValue; 11133 newStickerPosition = stickerPositions.ContainsKey(value) ? stickerPositions[value] : stickerPositions["top-left"]; 11134 } 11135 if (!string.IsNullOrEmpty(newSticker.Title)) 11136 { 11137 AddSticker(resultList, newSticker, newStickerPosition); 11138 } 11139 } 11140 11141 if (!pointShopOnly && isCustomStickersEnabled && !string.IsNullOrEmpty(customStickerValue)) 11142 { 11143 Sticker customSticker = new Sticker(); 11144 customSticker.CssClass = "stickers-container__tag--custom"; 11145 customSticker.Title = customStickerValue; 11146 11147 StickersListPosition customStickerPosition = StickersListPosition.TopLeft; 11148 if (Pageview.AreaSettings.GetItem("Ecommerce").GetItem("CustomSticker").GetList("Position") != null) 11149 { 11150 string value = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("CustomSticker").GetList("Position").SelectedValue; 11151 customStickerPosition = stickerPositions.ContainsKey(value) ? stickerPositions[value] : stickerPositions["top-left"]; 11152 } 11153 if (!string.IsNullOrEmpty(customSticker.Title)) 11154 { 11155 AddSticker(resultList, customSticker, customStickerPosition); 11156 } 11157 } 11158 11159 return resultList; 11160 } 11161 11162 #line default 11163 #line hidden 11164 11165 11166 #line 3315 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11167 11168 public string GetProductImage(LoopItem productObject = null) 11169 { 11170 string theImage = ""; 11171 11172 if (productObject == null) { 11173 theImage = GetString("Ecom:Product.ImageDefault.Default.Clean"); 11174 theImage = String.IsNullOrEmpty(theImage) ? GetString("Ecom:Product.ImageLarge.Clean") : theImage; 11175 theImage = String.IsNullOrEmpty(theImage) ? GetString("Ecom:Product.ImageMedium.Clean") : theImage; 11176 theImage = String.IsNullOrEmpty(theImage) ? GetString("Ecom:Product.ImageSmall.Clean") : theImage; 11177 theImage = String.IsNullOrEmpty(theImage) ? GetString("Ecom:Product.ImageLarge.Default.Clean") : theImage; 11178 } else { 11179 theImage = productObject.GetString("Ecom:Product.ImageDefault.Default.Clean"); 11180 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString("Ecom:Product.ImageLarge.Clean") : theImage; 11181 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString("Ecom:Product.ImageMedium.Clean") : theImage; 11182 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString("Ecom:Product.ImageSmall.Clean") : theImage; 11183 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString("Ecom:Product.ImageLarge.Default.Clean") : theImage; 11184 } 11185 11186 return theImage; 11187 } 11188 11189 #line default 11190 #line hidden 11191 11192 11193 #line 3338 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11194 11195 BlocksPage mainImagePage = BlocksPage.GetBlockPage("Product"); 11196 bool showThumbs; 11197 bool thumbsOnTheSide; 11198 11199 #line default 11200 #line hidden 11201 11202 11203 #line 3431 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11204 public RazorEngine.Templating.TemplateWriter RenderProductStickers() 11205 { 11206 #line default 11207 #line hidden 11208 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 11209 11210 #line 3432 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11211 11212 List<StickersCollection> StickersContainers = GetStickersContainersList( 11213 GetLoop("ProductDiscounts"), 11214 GetDouble("Ecom:Product.Discount.Price.Price"), 11215 GetDouble("Ecom:Product.Price.Price"), 11216 GetDate("Ecom:Product.Created"), 11217 GetString("Ecom:Product:Field.CustomSticker.Value") 11218 ); 11219 11220 foreach (StickersCollection stickersContainer in StickersContainers) 11221 { 11222 11223 11224 #line default 11225 #line hidden 11226 11227 #line 3443 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11228 WriteTo(__razor_helper_writer, Render(new StickersCollection { Stickers = stickersContainer.Stickers, Position = stickersContainer.Position })); 11229 11230 11231 #line default 11232 #line hidden 11233 11234 #line 3443 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11235 11236 } 11237 11238 11239 #line default 11240 #line hidden 11241 }); 11242 11243 #line 3445 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11244 } 11245 #line default 11246 #line hidden 11247 11248 11249 #line 3447 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11250 public RazorEngine.Templating.TemplateWriter RenderProductImage() 11251 { 11252 #line default 11253 #line hidden 11254 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 11255 11256 #line 3448 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11257 11258 //Add product image to the og meta data 11259 Pageview.Meta.AddTag("og:image", GetProductImage()); 11260 11261 11262 11263 #line default 11264 #line hidden 11265 WriteLiteralTo(__razor_helper_writer, " <label"); 11266 11267 WriteLiteralTo(__razor_helper_writer, " for=\"GalleryModalTrigger\""); 11268 11269 WriteLiteralTo(__razor_helper_writer, " class=\"product__image-container u-position-relative\""); 11270 11271 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 11272 11273 11274 #line 3453 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11275 11276 11277 #line default 11278 #line hidden 11279 11280 #line 3453 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11281 11282 Image productImage = new Image 11283 { 11284 Path = GetProductImage(), 11285 Id = "Image_" + GetString("Ecom:Product.ID"), 11286 CssClass = "u-middle product__image-container__image dw-mod", 11287 Title = GetString("Ecom:Product.Name"), 11288 OnClick = "modalCarousel.GoToSlide('modalCarousel', this.getAttribute('data-number'))", 11289 ImageDefault = new ImageSettings 11290 { 11291 Width = 800, 11292 Height = 800, 11293 Crop = 5, 11294 FillCanvas = true 11295 } 11296 }; 11297 productImage.ExtraAttributes.Add("data-number", "0"); 11298 11299 11300 #line default 11301 #line hidden 11302 WriteLiteralTo(__razor_helper_writer, "\r\n"); 11303 11304 WriteLiteralTo(__razor_helper_writer, " "); 11305 11306 11307 #line 3471 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11308 WriteTo(__razor_helper_writer, Render(productImage)); 11309 11310 11311 #line default 11312 #line hidden 11313 WriteLiteralTo(__razor_helper_writer, "\r\n"); 11314 11315 WriteLiteralTo(__razor_helper_writer, " "); 11316 11317 11318 #line 3472 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11319 WriteTo(__razor_helper_writer, RenderProductStickers()); 11320 11321 11322 #line default 11323 #line hidden 11324 WriteLiteralTo(__razor_helper_writer, "\r\n </label>\r\n"); 11325 11326 11327 #line 3474 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11328 11329 11330 #line default 11331 #line hidden 11332 }); 11333 11334 #line 3474 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11335 } 11336 #line default 11337 #line hidden 11338 11339 11340 #line 3476 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11341 public RazorEngine.Templating.TemplateWriter RenderThumbnails() 11342 { 11343 #line default 11344 #line hidden 11345 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 11346 11347 #line 3477 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11348 11349 11350 11351 #line default 11352 #line hidden 11353 WriteLiteralTo(__razor_helper_writer, " <div"); 11354 11355 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 139750), Tuple.Create("\"", 139803) 11356 11357 #line 3478 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11358 , Tuple.Create(Tuple.Create("", 139758), Tuple.Create<System.Object, System.Int32>(showThumbs ? "product__thumbs" : "" 11359 11360 #line default 11361 #line hidden 11362 , 139758), false) 11363 , Tuple.Create(Tuple.Create(" ", 139796), Tuple.Create("dw-mod", 139797), true) 11364 ); 11365 11366 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 11367 11368 WriteLiteralTo(__razor_helper_writer, " "); 11369 11370 11371 #line 3479 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11372 WriteTo(__razor_helper_writer, RenderProductImagesCarousel( 11373 "productCarousel", 11374 !showThumbs ? 1 : 5, 11375 thumbsOnTheSide ? "vertical" : "horizontal", 11376 !showThumbs ? 3 : 2 11377 )); 11378 11379 11380 #line default 11381 #line hidden 11382 WriteLiteralTo(__razor_helper_writer, "\r\n"); 11383 11384 11385 #line 3485 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11386 11387 11388 #line default 11389 #line hidden 11390 11391 #line 3485 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11392 if (!showThumbs) 11393 { 11394 11395 11396 #line default 11397 #line hidden 11398 11399 #line 3487 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11400 WriteTo(__razor_helper_writer, RenderProductStickers()); 11401 11402 11403 #line default 11404 #line hidden 11405 11406 #line 3487 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11407 11408 } 11409 11410 11411 #line default 11412 #line hidden 11413 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 11414 11415 11416 #line 3490 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11417 11418 11419 #line default 11420 #line hidden 11421 }); 11422 11423 #line 3490 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11424 } 11425 #line default 11426 #line hidden 11427 11428 11429 #line 3492 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11430 public RazorEngine.Templating.TemplateWriter RenderProductImagesCarousel(string id, int slidesInView, string direction, int preloaderSize, bool isModal = false) 11431 { 11432 #line default 11433 #line hidden 11434 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 11435 11436 #line 3493 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11437 11438 var selectedImageCategories = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductImagesInTopSection").SelectedValues; 11439 var imagesFromAssets = GetLoop("ImageCategories").Where(x => selectedImageCategories.Contains(x.GetString("Category.Id"))); 11440 11441 HashSet<string> images = new HashSet<string>(); 11442 11443 images.Add(GetProductImage()); 11444 11445 foreach (LoopItem alternativeImage in GetLoop("Ecom:Product.AlternativeImages")) 11446 { 11447 string alt_image = alternativeImage.GetString("Ecom:Product.AlternativeImages.Image"); 11448 11449 if (!string.IsNullOrEmpty(alt_image)) 11450 { 11451 images.Add(alt_image); 11452 } 11453 } 11454 11455 int assetImagesCount = 0; 11456 foreach (LoopItem category in imagesFromAssets) { 11457 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 11458 assetImagesCount++; 11459 } 11460 } 11461 11462 if (assetImagesCount > 0) { 11463 foreach (LoopItem category in imagesFromAssets) { 11464 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 11465 images.Add(asset.GetString("Ecom:Product:Detail.Image.Clean")); 11466 } 11467 } 11468 } else { 11469 foreach (LoopItem detail in GetLoop("Details")) 11470 { 11471 string detail_image = detail.GetString("Ecom:Product:Detail.Image.Clean"); 11472 11473 if (!string.IsNullOrEmpty(detail_image)) 11474 { 11475 string ext = Path.GetExtension(detail_image).ToLower(); 11476 if (ext == ".jpg" || ext == ".jpeg" || ext == ".gif" || ext == ".png") 11477 { 11478 images.Add(detail_image); 11479 } 11480 } 11481 } 11482 } 11483 11484 11485 11486 #line default 11487 #line hidden 11488 WriteLiteralTo(__razor_helper_writer, " <div"); 11489 11490 WriteLiteralTo(__razor_helper_writer, " class=\"carousel dw-mod\""); 11491 11492 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 141954), Tuple.Create("\"", 141962) 11493 11494 #line 3540 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11495 , Tuple.Create(Tuple.Create("", 141959), Tuple.Create<System.Object, System.Int32>(id 11496 11497 #line default 11498 #line hidden 11499 , 141959), false) 11500 ); 11501 11502 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 11503 11504 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 141978), Tuple.Create("\"", 142100) 11505 , Tuple.Create(Tuple.Create("", 141986), Tuple.Create("thumb-list", 141986), true) 11506 , Tuple.Create(Tuple.Create(" ", 141996), Tuple.Create("carousel__container", 141997), true) 11507 11508 #line 3541 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11509 , Tuple.Create(Tuple.Create(" ", 142016), Tuple.Create<System.Object, System.Int32>(slidesInView != 1 ? "carousel__container--hidden" : "" 11510 11511 #line default 11512 #line hidden 11513 , 142017), false) 11514 , Tuple.Create(Tuple.Create(" ", 142074), Tuple.Create("js-carousel-slides", 142075), true) 11515 , Tuple.Create(Tuple.Create(" ", 142093), Tuple.Create("dw-mod", 142094), true) 11516 ); 11517 11518 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 11519 11520 11521 #line 3542 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11522 11523 11524 #line default 11525 #line hidden 11526 11527 #line 3542 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11528 var i = 0; 11529 11530 #line default 11531 #line hidden 11532 WriteLiteralTo(__razor_helper_writer, "\r\n"); 11533 11534 11535 #line 3543 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11536 11537 11538 #line default 11539 #line hidden 11540 11541 #line 3543 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11542 foreach (var image in images) 11543 { 11544 11545 11546 #line default 11547 #line hidden 11548 11549 #line 3545 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11550 WriteTo(__razor_helper_writer, RenderProductImage(image, slidesInView == 1, isModal ? "modal--full__img" : "", i == 0, isModal)); 11551 11552 11553 #line default 11554 #line hidden 11555 11556 #line 3545 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11557 11558 i++; //first is active 11559 } 11560 11561 11562 #line default 11563 #line hidden 11564 WriteLiteralTo(__razor_helper_writer, " </div>\r\n\r\n <script>\r\n document.addEventListener(\"DOMCon" + 11565 "tentLoaded\", function () {\r\n"); 11566 11567 WriteLiteralTo(__razor_helper_writer, " "); 11568 11569 11570 #line 3552 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11571 WriteTo(__razor_helper_writer, id); 11572 11573 11574 #line default 11575 #line hidden 11576 WriteLiteralTo(__razor_helper_writer, " = new CarouselModule(\'#"); 11577 11578 11579 #line 3552 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11580 WriteTo(__razor_helper_writer, id); 11581 11582 11583 #line default 11584 #line hidden 11585 WriteLiteralTo(__razor_helper_writer, "\', {\r\n slidesInView: "); 11586 11587 11588 #line 3553 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11589 WriteTo(__razor_helper_writer, slidesInView); 11590 11591 11592 #line default 11593 #line hidden 11594 WriteLiteralTo(__razor_helper_writer, ",\r\n direction: \""); 11595 11596 11597 #line 3554 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11598 WriteTo(__razor_helper_writer, direction); 11599 11600 11601 #line default 11602 #line hidden 11603 WriteLiteralTo(__razor_helper_writer, "\",\r\n preloaderSize: "); 11604 11605 11606 #line 3555 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11607 WriteTo(__razor_helper_writer, preloaderSize); 11608 11609 11610 #line default 11611 #line hidden 11612 WriteLiteralTo(__razor_helper_writer, ",\r\n showCounter: "); 11613 11614 11615 #line 3556 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11616 WriteTo(__razor_helper_writer, isModal.ToString().ToLower()); 11617 11618 11619 #line default 11620 #line hidden 11621 WriteLiteralTo(__razor_helper_writer, "\r\n });\r\n });\r\n </script>\r\n </div>\r\n"); 11622 11623 11624 #line 3561 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11625 11626 11627 #line default 11628 #line hidden 11629 }); 11630 11631 #line 3561 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11632 } 11633 #line default 11634 #line hidden 11635 11636 11637 #line 3563 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11638 public RazorEngine.Templating.TemplateWriter RenderProductImage(string image, bool isBig, string cssClass = "", bool isActive = false, bool isModal = false) 11639 { 11640 #line default 11641 #line hidden 11642 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 11643 11644 #line 3564 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11645 11646 string productId = GetString("Ecom:Product.ID"); 11647 string imagePrefix = "/Admin/Public/GetImage.ashx?width=800&amp;height=800&amp;crop=5&FillCanvas=True&DoNotUpscale=true&amp;Compression=75&amp;image="; 11648 11649 Image productImage = new Image { 11650 Path = image, 11651 Title = GetString("Ecom:Product.Name"), 11652 ImageDefault = new ImageSettings { 11653 Width = 800, 11654 Height = 800, 11655 Crop = 5, 11656 FillCanvas = true 11657 }, 11658 CssClass = "u-middle " + cssClass, 11659 OnClick = "modalCarousel.GoToSlide('modalCarousel', this.closest('.carousel__slide').index());" 11660 }; 11661 productImage.ExtraAttributes.Add("data-image", image); 11662 11663 11664 11665 #line default 11666 #line hidden 11667 WriteLiteralTo(__razor_helper_writer, " <div"); 11668 11669 WriteLiteralTo(__razor_helper_writer, " class=\"carousel__slide dw-mod\""); 11670 11671 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 11672 11673 11674 #line 3583 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11675 11676 11677 #line default 11678 #line hidden 11679 11680 #line 3583 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11681 if (isModal) 11682 { 11683 11684 11685 #line default 11686 #line hidden 11687 11688 #line 3585 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11689 WriteTo(__razor_helper_writer, Render(new Image { Path = image, CssClass = cssClass, Title = GetString("Ecom:Product.Name"), DisableImageEngine = true })); 11690 11691 11692 #line default 11693 #line hidden 11694 11695 #line 3585 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11696 ; 11697 } 11698 else if (isBig) 11699 { 11700 11701 11702 #line default 11703 #line hidden 11704 WriteLiteralTo(__razor_helper_writer, " <label"); 11705 11706 WriteLiteralTo(__razor_helper_writer, " for=\"GalleryModalTrigger\""); 11707 11708 WriteLiteralTo(__razor_helper_writer, " class=\"u-middle\""); 11709 11710 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 11711 11712 WriteLiteralTo(__razor_helper_writer, " "); 11713 11714 11715 #line 3590 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11716 WriteTo(__razor_helper_writer, Render(productImage)); 11717 11718 11719 #line default 11720 #line hidden 11721 WriteLiteralTo(__razor_helper_writer, "\r\n </label>\r\n"); 11722 11723 11724 #line 3592 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11725 } 11726 else 11727 { 11728 Image productThumb = productImage; 11729 productThumb.ImageDefault = new ImageSettings 11730 { 11731 Width = 200, 11732 Height = 200, 11733 Crop = 5, 11734 FillCanvas = true 11735 }; 11736 productImage.CssClass += " thumb-list__image"; 11737 11738 11739 #line default 11740 #line hidden 11741 WriteLiteralTo(__razor_helper_writer, " <div"); 11742 11743 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 144397), Tuple.Create("\"", 144511) 11744 , Tuple.Create(Tuple.Create("", 144405), Tuple.Create("thumb-list__item", 144405), true) 11745 , Tuple.Create(Tuple.Create(" ", 144421), Tuple.Create("dw-mod", 144422), true) 11746 , Tuple.Create(Tuple.Create(" ", 144428), Tuple.Create("js-thumb", 144429), true) 11747 , Tuple.Create(Tuple.Create(" ", 144437), Tuple.Create("js-gallery", 144438), true) 11748 11749 #line 3604 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11750 , Tuple.Create(Tuple.Create(" ", 144448), Tuple.Create<System.Object, System.Int32>(isActive ? "js-thumb--active thumb-list__item--active" : "" 11751 11752 #line default 11753 #line hidden 11754 , 144449), false) 11755 ); 11756 11757 WriteLiteralTo(__razor_helper_writer, " data-for=\"Image_"); 11758 11759 11760 #line 3604 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11761 WriteTo(__razor_helper_writer, productId); 11762 11763 11764 #line default 11765 #line hidden 11766 WriteLiteralTo(__razor_helper_writer, "\""); 11767 11768 WriteLiteralTo(__razor_helper_writer, " data-image=\""); 11769 11770 11771 #line 3604 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11772 WriteTo(__razor_helper_writer, imagePrefix); 11773 11774 11775 #line default 11776 #line hidden 11777 11778 #line 3604 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11779 WriteTo(__razor_helper_writer, image); 11780 11781 11782 #line default 11783 #line hidden 11784 WriteLiteralTo(__razor_helper_writer, "\""); 11785 11786 WriteLiteralTo(__razor_helper_writer, " onmouseover=\"Gallery.openImage(this)\""); 11787 11788 WriteLiteralTo(__razor_helper_writer, ">\r\n <label"); 11789 11790 WriteLiteralTo(__razor_helper_writer, " for=\"GalleryModalTrigger\""); 11791 11792 WriteLiteralTo(__razor_helper_writer, " class=\"thumb-list__image-label\""); 11793 11794 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 11795 11796 WriteLiteralTo(__razor_helper_writer, " "); 11797 11798 11799 #line 3606 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11800 WriteTo(__razor_helper_writer, Render(productThumb)); 11801 11802 11803 #line default 11804 #line hidden 11805 WriteLiteralTo(__razor_helper_writer, "\r\n </label>\r\n </div>\r\n"); 11806 11807 11808 #line 3609 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11809 } 11810 11811 11812 #line default 11813 #line hidden 11814 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 11815 11816 11817 #line 3611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11818 11819 11820 #line default 11821 #line hidden 11822 }); 11823 11824 #line 3611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11825 } 11826 #line default 11827 #line hidden 11828 11829 11830 #line 3622 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11831 11832 bool useFacebookPixel; 11833 BlocksPage mainInfoPage = BlocksPage.GetBlockPage("Product"); 11834 11835 #line default 11836 #line hidden 11837 11838 11839 #line 3765 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11840 public RazorEngine.Templating.TemplateWriter RenderMainInfoHeader() 11841 { 11842 #line default 11843 #line hidden 11844 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 11845 11846 #line 3766 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11847 11848 bool renderVariantsAsProducts = GetInteger("Ecom:Product.VariantCount") > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderVariantsAsProductList"); 11849 if (Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout") != null && GetInteger("Ecom:Product.VariantCount") > 1) 11850 { 11851 renderVariantsAsProducts = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout").SelectedValue != "hide" && Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("EnableVariantMatrix") ? true : renderVariantsAsProducts; 11852 } 11853 11854 string pageId = GetGlobalValue("Global:Page.ID").ToString(); 11855 string currentPrice = GetString("Ecom:Product.Discount.Price.PriceFormatted") == GetString("Ecom:Product.Price.PriceFormatted") ? GetString("Ecom:Product.Price.PriceFormatted") : GetString("Ecom:Product.Discount.Price.PriceFormatted"); 11856 bool hideFavorites = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideFavoriteButton"); 11857 bool hideProductNumber = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideProductNumber"); 11858 11859 bool useFontAwesomePro = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetBoolean("UseFontAwesomePro"); 11860 var selectedFavoriteIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("FavoriteIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("FavoriteIcon").SelectedValue : "star"; 11861 string favoriteIcon = "fas fa-" + selectedFavoriteIcon; 11862 string favoriteOutlineIcon = (useFontAwesomePro ? "fal" : "far") + " fa-" + selectedFavoriteIcon; 11863 11864 11865 11866 #line default 11867 #line hidden 11868 WriteLiteralTo(__razor_helper_writer, " <div>\r\n <div"); 11869 11870 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left product__title dw-mod\""); 11871 11872 WriteLiteralTo(__razor_helper_writer, ">\r\n <h1"); 11873 11874 WriteLiteralTo(__razor_helper_writer, " class=\"u-no-margin\""); 11875 11876 WriteLiteralTo(__razor_helper_writer, ">"); 11877 11878 11879 #line 3785 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11880 WriteTo(__razor_helper_writer, GetString("Ecom:Product.Name")); 11881 11882 11883 #line default 11884 #line hidden 11885 WriteLiteralTo(__razor_helper_writer, " </h1>\r\n <h2>"); 11886 11887 11888 #line 3786 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11889 WriteTo(__razor_helper_writer, GetString("Ecom:Product.SelectedVariantComboName")); 11890 11891 11892 #line default 11893 #line hidden 11894 WriteLiteralTo(__razor_helper_writer, "</h2>\r\n\r\n"); 11895 11896 11897 #line 3788 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11898 11899 11900 #line default 11901 #line hidden 11902 11903 #line 3788 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11904 if (!hideProductNumber) 11905 { 11906 11907 11908 #line default 11909 #line hidden 11910 WriteLiteralTo(__razor_helper_writer, " <div"); 11911 11912 WriteLiteralTo(__razor_helper_writer, " class=\"item-number dw-mod\""); 11913 11914 WriteLiteralTo(__razor_helper_writer, ">"); 11915 11916 11917 #line 3790 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11918 WriteTo(__razor_helper_writer, GetString("Ecom:Product.Number")); 11919 11920 11921 #line default 11922 #line hidden 11923 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 11924 11925 11926 #line 3791 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11927 } 11928 11929 11930 #line default 11931 #line hidden 11932 WriteLiteralTo(__razor_helper_writer, " </div>\r\n <div"); 11933 11934 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--right\""); 11935 11936 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 11937 11938 11939 #line 3794 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11940 11941 11942 #line default 11943 #line hidden 11944 11945 #line 3794 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11946 if (!hideFavorites && Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")) && !renderVariantsAsProducts) 11947 { 11948 string favoriteId = "Favorite" + GetString("Ecom:Product.ID"); 11949 11950 11951 #line default 11952 #line hidden 11953 WriteLiteralTo(__razor_helper_writer, " <div"); 11954 11955 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 153451), Tuple.Create("\"", 153467) 11956 11957 #line 3797 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11958 , Tuple.Create(Tuple.Create("", 153456), Tuple.Create<System.Object, System.Int32>(favoriteId 11959 11960 #line default 11961 #line hidden 11962 , 153456), false) 11963 ); 11964 11965 WriteLiteralTo(__razor_helper_writer, " class=\"favorites favorites--md u-pull--right js-favorite-btn dw-mod\""); 11966 11967 WriteLiteralTo(__razor_helper_writer, ">\r\n <div>\r\n"); 11968 11969 11970 #line 3799 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11971 11972 11973 #line default 11974 #line hidden 11975 11976 #line 3799 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11977 11978 string favorite = GetBoolean("Ecom:Product.IsProductInFavoriteList") ? favoriteIcon : favoriteOutlineIcon; 11979 string AddToWishlist = "fbq('track', 'AddToWishlist', {" + 11980 "content_name: '" + GetString("Ecom:Product.Name") + "'," + 11981 "content_ids: ['" + GetString("Ecom:Product.Number") + "']," + 11982 "value: " + GetDouble("Ecom:Product.Price.Price") + "," + 11983 "currency: '" + GetString("Ecom:Product.Price.Currency.Code") + "'" + 11984 "});"; 11985 11986 11987 #line default 11988 #line hidden 11989 WriteLiteralTo(__razor_helper_writer, "\r\n <label"); 11990 11991 WriteLiteralTo(__razor_helper_writer, " for=\"FavoriteTrigger\""); 11992 11993 WriteLiteralTo(__razor_helper_writer, "><i"); 11994 11995 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 154320), Tuple.Create("\"", 154345) 11996 11997 #line 3808 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 11998 , Tuple.Create(Tuple.Create("", 154328), Tuple.Create<System.Object, System.Int32>(favorite 11999 12000 #line default 12001 #line hidden 12002 , 154328), false) 12003 , Tuple.Create(Tuple.Create(" ", 154337), Tuple.Create("fa-1_5x", 154338), true) 12004 ); 12005 12006 WriteLiteralTo(__razor_helper_writer, "></i></label>\r\n </div>\r\n <input"); 12007 12008 WriteLiteralTo(__razor_helper_writer, " type=\"checkbox\""); 12009 12010 WriteLiteralTo(__razor_helper_writer, " id=\"FavoriteTrigger\""); 12011 12012 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown-trigger\""); 12013 12014 WriteLiteralTo(__razor_helper_writer, " />\r\n\r\n <div"); 12015 12016 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown\""); 12017 12018 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 12019 12020 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown__content dropdown__content--show-left dropdown__content--padding" + 12021 " u-w220px dw-mod\""); 12022 12023 WriteLiteralTo(__razor_helper_writer, ">\r\n <ul"); 12024 12025 WriteLiteralTo(__razor_helper_writer, " class=\"list list--clean dw-mod\""); 12026 12027 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 12028 12029 12030 #line 3815 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12031 12032 12033 #line default 12034 #line hidden 12035 12036 #line 3815 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12037 if (GetLoop("CustomerCenter.ListTypes").Count > 0) 12038 { 12039 foreach (LoopItem listType in GetLoop("CustomerCenter.ListTypes")) 12040 { 12041 foreach (LoopItem list in listType.GetLoop("CustomerCenter.ProductLists")) 12042 { 12043 string favLinkType = list.GetString("Ecom:Product.List.IsProductInThisList") == "True" ? list.GetString("Ecom:Product.RemoveFromThisList") : list.GetString("Ecom:Product.AddToThisListAction"); 12044 string isInListIcon = list.GetString("Ecom:Product.List.IsProductInThisList") == "True" ? favoriteIcon : favoriteOutlineIcon; 12045 12046 12047 #line default 12048 #line hidden 12049 WriteLiteralTo(__razor_helper_writer, " <li>\r\n " + 12050 " <a"); 12051 12052 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 155654), Tuple.Create("\"", 155673) 12053 12054 #line 3824 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12055 , Tuple.Create(Tuple.Create("", 155661), Tuple.Create<System.Object, System.Int32>(favLinkType 12056 12057 #line default 12058 #line hidden 12059 , 155661), false) 12060 ); 12061 12062 WriteLiteralTo(__razor_helper_writer, " class=\"list__link u-no-underline dw-mod\""); 12063 12064 WriteAttributeTo(__razor_helper_writer, "onclick", Tuple.Create(" onclick=\"", 155715), Tuple.Create("\"", 155834) 12065 12066 #line 3824 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12067 , Tuple.Create(Tuple.Create("", 155725), Tuple.Create<System.Object, System.Int32>(list.GetString("Ecom:Product.List.IsProductInThisList") != "True" && useFacebookPixel ? AddToWishlist : "" 12068 12069 #line default 12070 #line hidden 12071 , 155725), false) 12072 ); 12073 12074 WriteLiteralTo(__razor_helper_writer, "><i"); 12075 12076 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 155838), Tuple.Create("\"", 155878) 12077 12078 #line 3824 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12079 , Tuple.Create(Tuple.Create("", 155846), Tuple.Create<System.Object, System.Int32>(isInListIcon 12080 12081 #line default 12082 #line hidden 12083 , 155846), false) 12084 , Tuple.Create(Tuple.Create(" ", 155859), Tuple.Create("u-margin-right--lg", 155860), true) 12085 ); 12086 12087 WriteLiteralTo(__razor_helper_writer, "></i> "); 12088 12089 12090 #line 3824 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12091 WriteTo(__razor_helper_writer, list.GetValue("Ecom:CustomerCenter.List.Name")); 12092 12093 12094 #line default 12095 #line hidden 12096 WriteLiteralTo(__razor_helper_writer, "</a>\r\n </li>\r\n"); 12097 12098 12099 #line 3826 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12100 } 12101 } 12102 } 12103 else 12104 { 12105 string favLinkType = GetString("Ecom:Product.AddToFavorites") + "&CCListType=0&CCCreateNewList=" + Translate("My favorites"); 12106 string isInListIcon = favoriteOutlineIcon; 12107 12108 12109 #line default 12110 #line hidden 12111 WriteLiteralTo(__razor_helper_writer, " <li>\r\n " + 12112 " <a"); 12113 12114 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 156506), Tuple.Create("\"", 156525) 12115 12116 #line 3834 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12117 , Tuple.Create(Tuple.Create("", 156513), Tuple.Create<System.Object, System.Int32>(favLinkType 12118 12119 #line default 12120 #line hidden 12121 , 156513), false) 12122 ); 12123 12124 WriteLiteralTo(__razor_helper_writer, " class=\"list__link u-no-underline dw-mod\""); 12125 12126 WriteAttributeTo(__razor_helper_writer, "onclick", Tuple.Create(" onclick=\"", 156567), Tuple.Create("\"", 156617) 12127 12128 #line 3834 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12129 , Tuple.Create(Tuple.Create("", 156577), Tuple.Create<System.Object, System.Int32>(useFacebookPixel ? AddToWishlist : "" 12130 12131 #line default 12132 #line hidden 12133 , 156577), false) 12134 ); 12135 12136 WriteLiteralTo(__razor_helper_writer, "><i"); 12137 12138 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 156621), Tuple.Create("\"", 156661) 12139 12140 #line 3834 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12141 , Tuple.Create(Tuple.Create("", 156629), Tuple.Create<System.Object, System.Int32>(isInListIcon 12142 12143 #line default 12144 #line hidden 12145 , 156629), false) 12146 , Tuple.Create(Tuple.Create(" ", 156642), Tuple.Create("u-margin-right--lg", 156643), true) 12147 ); 12148 12149 WriteLiteralTo(__razor_helper_writer, "></i> "); 12150 12151 12152 #line 3834 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12153 WriteTo(__razor_helper_writer, Translate("My favorites")); 12154 12155 12156 #line default 12157 #line hidden 12158 WriteLiteralTo(__razor_helper_writer, "</a>\r\n </li>\r\n"); 12159 12160 12161 #line 3836 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12162 } 12163 12164 12165 #line default 12166 #line hidden 12167 WriteLiteralTo(__razor_helper_writer, " </ul>\r\n </div>\r\n " + 12168 " <label"); 12169 12170 WriteLiteralTo(__razor_helper_writer, " class=\"dropdown-trigger-off\""); 12171 12172 WriteLiteralTo(__razor_helper_writer, " for=\"FavoriteTrigger\""); 12173 12174 WriteLiteralTo(__razor_helper_writer, "></label>\r\n </div>\r\n </div>\r\n"); 12175 12176 12177 #line 3842 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12178 } 12179 12180 12181 #line default 12182 #line hidden 12183 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </div>\r\n"); 12184 12185 12186 #line 3845 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12187 12188 12189 #line default 12190 #line hidden 12191 }); 12192 12193 #line 3845 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12194 } 12195 #line default 12196 #line hidden 12197 12198 12199 #line 3847 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12200 public RazorEngine.Templating.TemplateWriter RenderStockAndShipping() 12201 { 12202 #line default 12203 #line hidden 12204 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 12205 12206 #line 3848 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12207 12208 bool hideStockState = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideStockState"); 12209 bool hideDelivery = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideShipping"); 12210 12211 if (User.IsStockInfoAllowed()) 12212 { 12213 12214 12215 #line default 12216 #line hidden 12217 WriteLiteralTo(__razor_helper_writer, " "); 12218 12219 WriteLiteralTo(__razor_helper_writer, "{{#if stockText}}"); 12220 12221 WriteLiteralTo(__razor_helper_writer, "\r\n"); 12222 12223 WriteLiteralTo(__razor_helper_writer, " <div"); 12224 12225 WriteLiteralTo(__razor_helper_writer, " class=\"product__stock-delivery dw-mod\""); 12226 12227 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 12228 12229 12230 #line 3856 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12231 12232 12233 #line default 12234 #line hidden 12235 12236 #line 3856 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12237 if (!hideStockState) 12238 { 12239 12240 12241 #line default 12242 #line hidden 12243 WriteLiteralTo(__razor_helper_writer, " <span"); 12244 12245 WriteLiteralTo(__razor_helper_writer, " class=\"stock-icon {{stockState}} u-no-margin dw-mod\""); 12246 12247 WriteLiteralTo(__razor_helper_writer, " title=\"{{stockText}}\""); 12248 12249 WriteLiteralTo(__razor_helper_writer, "></span> \r\n"); 12250 12251 WriteLiteralTo(__razor_helper_writer, " <span"); 12252 12253 WriteLiteralTo(__razor_helper_writer, " class=\"u-margin-right--lg\""); 12254 12255 WriteLiteralTo(__razor_helper_writer, "> {{stockText}}</span>\r\n"); 12256 12257 12258 #line 3860 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12259 } 12260 12261 12262 #line default 12263 #line hidden 12264 WriteLiteralTo(__razor_helper_writer, " "); 12265 12266 12267 #line 3861 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12268 if (!hideDelivery) 12269 { 12270 12271 12272 #line default 12273 #line hidden 12274 WriteLiteralTo(__razor_helper_writer, " "); 12275 12276 WriteLiteralTo(__razor_helper_writer, "{{deliveryText}}"); 12277 12278 WriteLiteralTo(__razor_helper_writer, "\r\n"); 12279 12280 12281 #line 3864 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12282 } 12283 12284 12285 #line default 12286 #line hidden 12287 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 12288 12289 WriteLiteralTo(__razor_helper_writer, " "); 12290 12291 WriteLiteralTo(__razor_helper_writer, "{{/if}}"); 12292 12293 WriteLiteralTo(__razor_helper_writer, "\r\n"); 12294 12295 12296 #line 3867 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12297 } 12298 12299 12300 #line default 12301 #line hidden 12302 }); 12303 12304 #line 3868 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12305 } 12306 #line default 12307 #line hidden 12308 12309 12310 #line 3870 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12311 public RazorEngine.Templating.TemplateWriter RenderShortDescription() 12312 { 12313 #line default 12314 #line hidden 12315 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 12316 12317 #line 3871 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12318 12319 if (!String.IsNullOrEmpty(GetString("Ecom:Product.ShortDescription"))) 12320 { 12321 Pageview.Meta.AddTag("og:description", GetString("Ecom:Product.ShortDescription")); 12322 12323 12324 12325 #line default 12326 #line hidden 12327 WriteLiteralTo(__razor_helper_writer, " <div"); 12328 12329 WriteLiteralTo(__razor_helper_writer, " class=\"introduction-text\""); 12330 12331 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 12332 12333 WriteLiteralTo(__razor_helper_writer, " "); 12334 12335 12336 #line 3877 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12337 WriteTo(__razor_helper_writer, GetString("Ecom:Product.ShortDescription")); 12338 12339 12340 #line default 12341 #line hidden 12342 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 12343 12344 12345 #line 3879 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12346 } 12347 12348 12349 #line default 12350 #line hidden 12351 }); 12352 12353 #line 3880 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12354 } 12355 #line default 12356 #line hidden 12357 12358 12359 #line 3882 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12360 public RazorEngine.Templating.TemplateWriter RenderMainInfoVariants() 12361 { 12362 #line default 12363 #line hidden 12364 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 12365 12366 #line 3883 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12367 12368 string pageId = GetGlobalValue("Global:Page.ID").ToString(); 12369 string productId = GetString("Ecom:Product.ID"); 12370 string variantSelection = !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("variantId")) ? HttpContext.Current.Request.QueryString.Get("variantId").Replace(".", ",") : ""; 12371 string hideHelpText = ""; 12372 string variantsLayout = Pageview.AreaSettings.GetItem("Ecommerce").GetString("VariantsLayout") != null ? Pageview.AreaSettings.GetItem("Ecommerce").GetList("VariantsLayout").SelectedValue : "buttons"; 12373 12374 foreach (LoopItem variantgroup in GetLoop("VariantGroups")) 12375 { 12376 foreach (LoopItem variantoption in variantgroup.GetLoop("VariantAvailableOptions")) 12377 { 12378 if (variantoption.GetBoolean("Ecom:VariantOption.Selected")) 12379 { 12380 hideHelpText = "u-hidden"; 12381 } 12382 } 12383 } 12384 12385 if (GetLoop("VariantGroups").Count > 0) 12386 { 12387 var variantCombinationsObject = new List<Array>(); 12388 foreach (LoopItem variantcomb in GetLoop("VariantCombinations")) 12389 { 12390 string[] combinations = variantcomb.GetString("Ecom:VariantCombination.VariantID").Split('.'); 12391 variantCombinationsObject.Add(combinations); 12392 } 12393 12394 string combinationsJson = Newtonsoft.Json.JsonConvert.SerializeObject(variantCombinationsObject).Replace("\"", "\'"); 12395 12396 var variantGroupsObject = new List<List<String>>(); 12397 foreach (LoopItem variantGroup in GetLoop("VariantGroups")) 12398 { 12399 var variantsObject = new List<String>(); 12400 foreach (LoopItem variantOption in variantGroup.GetLoop("VariantAvailableOptions")) 12401 { 12402 variantsObject.Add(variantOption.GetString("Ecom:VariantOption.ID")); 12403 } 12404 variantGroupsObject.Add(variantsObject); 12405 } 12406 12407 string variantsJson = Newtonsoft.Json.JsonConvert.SerializeObject(variantGroupsObject).Replace("\"", "\'"); 12408 string productGroupId = HttpContext.Current.Request["GroupId"]; 12409 12410 12411 12412 #line default 12413 #line hidden 12414 WriteLiteralTo(__razor_helper_writer, " <div>\r\n <div"); 12415 12416 WriteLiteralTo(__razor_helper_writer, " class=\"js-variants\""); 12417 12418 WriteLiteralTo(__razor_helper_writer, " data-total-variant-groups=\""); 12419 12420 12421 #line 3927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12422 WriteTo(__razor_helper_writer, GetLoop("VariantGroups").Count); 12423 12424 12425 #line default 12426 #line hidden 12427 WriteLiteralTo(__razor_helper_writer, "\""); 12428 12429 WriteLiteralTo(__razor_helper_writer, " data-combinations=\""); 12430 12431 12432 #line 3927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12433 WriteTo(__razor_helper_writer, combinationsJson); 12434 12435 12436 #line default 12437 #line hidden 12438 WriteLiteralTo(__razor_helper_writer, "\""); 12439 12440 WriteLiteralTo(__razor_helper_writer, " data-variants=\""); 12441 12442 12443 #line 3927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12444 WriteTo(__razor_helper_writer, variantsJson); 12445 12446 12447 #line default 12448 #line hidden 12449 WriteLiteralTo(__razor_helper_writer, "\""); 12450 12451 WriteLiteralTo(__razor_helper_writer, " data-variant-selections=\""); 12452 12453 12454 #line 3927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12455 WriteTo(__razor_helper_writer, variantSelection); 12456 12457 12458 #line default 12459 #line hidden 12460 WriteLiteralTo(__razor_helper_writer, "\""); 12461 12462 WriteLiteralTo(__razor_helper_writer, " data-selection-complete=\"UpdatePage\""); 12463 12464 WriteLiteralTo(__razor_helper_writer, " data-page-id=\""); 12465 12466 12467 #line 3927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12468 WriteTo(__razor_helper_writer, pageId); 12469 12470 12471 #line default 12472 #line hidden 12473 WriteLiteralTo(__razor_helper_writer, "\""); 12474 12475 WriteLiteralTo(__razor_helper_writer, " data-product-id=\""); 12476 12477 12478 #line 3927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12479 WriteTo(__razor_helper_writer, productId); 12480 12481 12482 #line default 12483 #line hidden 12484 WriteLiteralTo(__razor_helper_writer, "\""); 12485 12486 WriteLiteralTo(__razor_helper_writer, " data-group-id=\""); 12487 12488 12489 #line 3927 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12490 WriteTo(__razor_helper_writer, productGroupId); 12491 12492 12493 #line default 12494 #line hidden 12495 WriteLiteralTo(__razor_helper_writer, "\""); 12496 12497 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 12498 12499 12500 #line 3928 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12501 12502 12503 #line default 12504 #line hidden 12505 12506 #line 3928 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12507 foreach (LoopItem variantGroup in GetLoop("VariantGroups")) 12508 { 12509 string groupId = variantGroup.GetString("Ecom:VariantGroup.ID"); 12510 12511 12512 12513 #line default 12514 #line hidden 12515 WriteLiteralTo(__razor_helper_writer, " <div>\r\n <div"); 12516 12517 WriteLiteralTo(__razor_helper_writer, " class=\"product__variant-group-name u-bold dw-mod\""); 12518 12519 WriteLiteralTo(__razor_helper_writer, ">"); 12520 12521 12522 #line 3933 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12523 WriteTo(__razor_helper_writer, variantGroup.GetString("Ecom:VariantGroup.Name")); 12524 12525 12526 #line default 12527 #line hidden 12528 WriteLiteralTo(__razor_helper_writer, "</div>\r\n <div"); 12529 12530 WriteLiteralTo(__razor_helper_writer, " class=\"u-margin-top\""); 12531 12532 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 12533 12534 12535 #line 3935 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12536 12537 12538 #line default 12539 #line hidden 12540 12541 #line 3935 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12542 if (variantsLayout == "buttons") 12543 { 12544 foreach (LoopItem variantOption in variantGroup.GetLoop("VariantAvailableOptions")) 12545 { 12546 string selected = variantOption.GetBoolean("Ecom:VariantOption.Selected") ? "checked" : ""; 12547 string color = !String.IsNullOrEmpty(variantOption.GetString("Ecom:VariantOption.Colorcode")) ? variantOption.GetString("Ecom:VariantOption.Colorcode") : null; 12548 color = color == null && !String.IsNullOrEmpty(variantOption.GetString("Ecom:VariantOption.Color")) ? variantOption.GetString("Ecom:VariantOption.Color") : color; 12549 12550 if (!String.IsNullOrEmpty(color)) 12551 { 12552 12553 12554 #line default 12555 #line hidden 12556 WriteLiteralTo(__razor_helper_writer, " <button"); 12557 12558 WriteLiteralTo(__razor_helper_writer, " type=\"button\""); 12559 12560 WriteLiteralTo(__razor_helper_writer, " data-variant-id=\""); 12561 12562 12563 #line 3945 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12564 WriteTo(__razor_helper_writer, variantOption.GetString("Ecom:VariantOption.ID")); 12565 12566 12567 #line default 12568 #line hidden 12569 WriteLiteralTo(__razor_helper_writer, "\""); 12570 12571 WriteLiteralTo(__razor_helper_writer, " data-variant-group=\""); 12572 12573 12574 #line 3945 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12575 WriteTo(__razor_helper_writer, groupId); 12576 12577 12578 #line default 12579 #line hidden 12580 WriteLiteralTo(__razor_helper_writer, "\""); 12581 12582 WriteLiteralTo(__razor_helper_writer, " onclick=\"MatchVariants.SelectThis(event)\""); 12583 12584 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 162161), Tuple.Create("\"", 162229) 12585 , Tuple.Create(Tuple.Create("", 162169), Tuple.Create("btn", 162169), true) 12586 , Tuple.Create(Tuple.Create(" ", 162172), Tuple.Create("btn--colorbox", 162173), true) 12587 , Tuple.Create(Tuple.Create(" ", 162186), Tuple.Create("u-margin-right", 162187), true) 12588 12589 #line 3945 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12590 , Tuple.Create(Tuple.Create(" ", 162201), Tuple.Create<System.Object, System.Int32>(selected 12591 12592 #line default 12593 #line hidden 12594 , 162202), false) 12595 , Tuple.Create(Tuple.Create(" ", 162211), Tuple.Create("js-variant-option", 162212), true) 12596 ); 12597 12598 WriteLiteralTo(__razor_helper_writer, " data-check=\""); 12599 12600 12601 #line 3945 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12602 WriteTo(__razor_helper_writer, selected); 12603 12604 12605 #line default 12606 #line hidden 12607 WriteLiteralTo(__razor_helper_writer, "\""); 12608 12609 WriteAttributeTo(__razor_helper_writer, "style", Tuple.Create(" style=\"", 162253), Tuple.Create("\"", 162285) 12610 , Tuple.Create(Tuple.Create("", 162261), Tuple.Create("background-color:", 162261), true) 12611 12612 #line 3945 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12613 , Tuple.Create(Tuple.Create(" ", 162278), Tuple.Create<System.Object, System.Int32>(color 12614 12615 #line default 12616 #line hidden 12617 , 162279), false) 12618 ); 12619 12620 WriteLiteralTo(__razor_helper_writer, "></button>\r\n"); 12621 12622 12623 #line 3946 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12624 } 12625 else 12626 { 12627 12628 12629 #line default 12630 #line hidden 12631 WriteLiteralTo(__razor_helper_writer, " <button"); 12632 12633 WriteLiteralTo(__razor_helper_writer, " type=\"button\""); 12634 12635 WriteLiteralTo(__razor_helper_writer, " data-variant-id=\""); 12636 12637 12638 #line 3949 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12639 WriteTo(__razor_helper_writer, variantOption.GetString("Ecom:VariantOption.ID")); 12640 12641 12642 #line default 12643 #line hidden 12644 WriteLiteralTo(__razor_helper_writer, "\""); 12645 12646 WriteLiteralTo(__razor_helper_writer, " data-variant-group=\""); 12647 12648 12649 #line 3949 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12650 WriteTo(__razor_helper_writer, groupId); 12651 12652 12653 #line default 12654 #line hidden 12655 WriteLiteralTo(__razor_helper_writer, "\""); 12656 12657 WriteLiteralTo(__razor_helper_writer, " onclick=\"MatchVariants.SelectThis(event)\""); 12658 12659 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 162635), Tuple.Create("\"", 162683) 12660 , Tuple.Create(Tuple.Create("", 162643), Tuple.Create("btn", 162643), true) 12661 , Tuple.Create(Tuple.Create(" ", 162646), Tuple.Create("btn--tag", 162647), true) 12662 12663 #line 3949 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12664 , Tuple.Create(Tuple.Create(" ", 162655), Tuple.Create<System.Object, System.Int32>(selected 12665 12666 #line default 12667 #line hidden 12668 , 162656), false) 12669 , Tuple.Create(Tuple.Create(" ", 162665), Tuple.Create("js-variant-option", 162666), true) 12670 ); 12671 12672 WriteLiteralTo(__razor_helper_writer, " data-check=\""); 12673 12674 12675 #line 3949 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12676 WriteTo(__razor_helper_writer, selected); 12677 12678 12679 #line default 12680 #line hidden 12681 WriteLiteralTo(__razor_helper_writer, "\""); 12682 12683 WriteLiteralTo(__razor_helper_writer, ">"); 12684 12685 12686 #line 3949 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12687 WriteTo(__razor_helper_writer, variantOption.GetString("Ecom:VariantOption.Name")); 12688 12689 12690 #line default 12691 #line hidden 12692 WriteLiteralTo(__razor_helper_writer, "</button>\r\n"); 12693 12694 12695 #line 3950 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12696 } 12697 } 12698 } 12699 else 12700 { 12701 12702 12703 #line default 12704 #line hidden 12705 WriteLiteralTo(__razor_helper_writer, " <select"); 12706 12707 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 163003), Tuple.Create("\"", 163032) 12708 , Tuple.Create(Tuple.Create("", 163008), Tuple.Create("VariantSelector_", 163008), true) 12709 12710 #line 3955 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12711 , Tuple.Create(Tuple.Create("", 163024), Tuple.Create<System.Object, System.Int32>(groupId 12712 12713 #line default 12714 #line hidden 12715 , 163024), false) 12716 ); 12717 12718 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width dw-mod\""); 12719 12720 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 163061), Tuple.Create("\"", 163092) 12721 , Tuple.Create(Tuple.Create("", 163068), Tuple.Create("VariantSelector_", 163068), true) 12722 12723 #line 3955 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12724 , Tuple.Create(Tuple.Create("", 163084), Tuple.Create<System.Object, System.Int32>(groupId 12725 12726 #line default 12727 #line hidden 12728 , 163084), false) 12729 ); 12730 12731 WriteLiteralTo(__razor_helper_writer, " onchange=\"MatchVariants.SelectOnChange(event)\""); 12732 12733 WriteLiteralTo(__razor_helper_writer, " >\r\n <option>"); 12734 12735 12736 #line 3956 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12737 WriteTo(__razor_helper_writer, Translate("Choose")); 12738 12739 12740 #line default 12741 #line hidden 12742 WriteLiteralTo(__razor_helper_writer, "</option>\r\n"); 12743 12744 12745 #line 3957 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12746 12747 12748 #line default 12749 #line hidden 12750 12751 #line 3957 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12752 foreach (LoopItem variantOption in variantGroup.GetLoop("VariantAvailableOptions")) 12753 { 12754 string check = variantOption.GetBoolean("Ecom:VariantOption.Selected") ? "checked" : ""; 12755 string selected = variantOption.GetBoolean("Ecom:VariantOption.Selected") ? "selected" : ""; 12756 string color = !String.IsNullOrEmpty(variantOption.GetString("Ecom:VariantOption.Colorcode")) ? variantOption.GetString("Ecom:VariantOption.Colorcode") : null; 12757 color = color == null && !String.IsNullOrEmpty(variantOption.GetString("Ecom:VariantOption.Color")) ? variantOption.GetString("Ecom:VariantOption.Color") : color; 12758 12759 12760 12761 #line default 12762 #line hidden 12763 WriteLiteralTo(__razor_helper_writer, " <option"); 12764 12765 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 164130), Tuple.Create("\"", 164165) 12766 , Tuple.Create(Tuple.Create("", 164138), Tuple.Create("js-variant-option", 164138), true) 12767 12768 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12769 , Tuple.Create(Tuple.Create(" ", 164155), Tuple.Create<System.Object, System.Int32>(selected 12770 12771 #line default 12772 #line hidden 12773 , 164156), false) 12774 ); 12775 12776 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 164166), Tuple.Create("\"", 164231) 12777 12778 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12779 , Tuple.Create(Tuple.Create("", 164171), Tuple.Create<System.Object, System.Int32>(groupId 12780 12781 #line default 12782 #line hidden 12783 , 164171), false) 12784 , Tuple.Create(Tuple.Create("", 164181), Tuple.Create("_", 164181), true) 12785 12786 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12787 , Tuple.Create(Tuple.Create("", 164182), Tuple.Create<System.Object, System.Int32>(variantOption.GetString("Ecom:VariantOption.ID") 12788 12789 #line default 12790 #line hidden 12791 , 164182), false) 12792 ); 12793 12794 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 164232), Tuple.Create("\"", 164300) 12795 12796 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12797 , Tuple.Create(Tuple.Create("", 164240), Tuple.Create<System.Object, System.Int32>(groupId 12798 12799 #line default 12800 #line hidden 12801 , 164240), false) 12802 , Tuple.Create(Tuple.Create("", 164250), Tuple.Create("_", 164250), true) 12803 12804 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12805 , Tuple.Create(Tuple.Create("", 164251), Tuple.Create<System.Object, System.Int32>(variantOption.GetString("Ecom:VariantOption.ID") 12806 12807 #line default 12808 #line hidden 12809 , 164251), false) 12810 ); 12811 12812 WriteLiteralTo(__razor_helper_writer, " data-variant-id=\""); 12813 12814 12815 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12816 WriteTo(__razor_helper_writer, variantOption.GetString("Ecom:VariantOption.ID")); 12817 12818 12819 #line default 12820 #line hidden 12821 WriteLiteralTo(__razor_helper_writer, "\""); 12822 12823 WriteLiteralTo(__razor_helper_writer, " data-variant-group=\""); 12824 12825 12826 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12827 WriteTo(__razor_helper_writer, groupId); 12828 12829 12830 #line default 12831 #line hidden 12832 WriteLiteralTo(__razor_helper_writer, "\""); 12833 12834 WriteLiteralTo(__razor_helper_writer, " "); 12835 12836 12837 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12838 WriteTo(__razor_helper_writer, selected); 12839 12840 12841 #line default 12842 #line hidden 12843 WriteLiteralTo(__razor_helper_writer, " data-check=\""); 12844 12845 12846 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12847 WriteTo(__razor_helper_writer, check); 12848 12849 12850 #line default 12851 #line hidden 12852 WriteLiteralTo(__razor_helper_writer, "\">"); 12853 12854 12855 #line 3964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12856 WriteTo(__razor_helper_writer, variantOption.GetString("Ecom:VariantOption.Name")); 12857 12858 12859 #line default 12860 #line hidden 12861 WriteLiteralTo(__razor_helper_writer, "</option>\r\n"); 12862 12863 12864 #line 3965 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12865 } 12866 12867 12868 #line default 12869 #line hidden 12870 WriteLiteralTo(__razor_helper_writer, " </select>\r\n"); 12871 12872 12873 #line 3967 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12874 } 12875 12876 12877 #line default 12878 #line hidden 12879 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </div>\r\n"); 12880 12881 12882 #line 3970 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12883 } 12884 12885 12886 #line default 12887 #line hidden 12888 WriteLiteralTo(__razor_helper_writer, " </div>\r\n <small"); 12889 12890 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 164734), Tuple.Create("\"", 164778) 12891 , Tuple.Create(Tuple.Create("", 164742), Tuple.Create("js-help-text", 164742), true) 12892 , Tuple.Create(Tuple.Create(" ", 164754), Tuple.Create("help-text", 164755), true) 12893 12894 #line 3972 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12895 , Tuple.Create(Tuple.Create(" ", 164764), Tuple.Create<System.Object, System.Int32>(hideHelpText 12896 12897 #line default 12898 #line hidden 12899 , 164765), false) 12900 ); 12901 12902 WriteLiteralTo(__razor_helper_writer, ">"); 12903 12904 12905 #line 3972 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12906 WriteTo(__razor_helper_writer, Translate("Please select variant!")); 12907 12908 12909 #line default 12910 #line hidden 12911 WriteLiteralTo(__razor_helper_writer, "</small>\r\n </div>\r\n"); 12912 12913 12914 #line 3974 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12915 } 12916 12917 12918 #line default 12919 #line hidden 12920 }); 12921 12922 #line 3975 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12923 } 12924 #line default 12925 #line hidden 12926 12927 12928 #line 3977 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12929 public RazorEngine.Templating.TemplateWriter RenderMainInfoBOM() 12930 { 12931 #line default 12932 #line hidden 12933 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 12934 12935 #line 3978 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12936 12937 if (GetLoop("BOMProducts").Count > 0) 12938 { 12939 12940 12941 #line default 12942 #line hidden 12943 WriteLiteralTo(__razor_helper_writer, " <h2"); 12944 12945 WriteLiteralTo(__razor_helper_writer, " class=\"section-title\""); 12946 12947 WriteLiteralTo(__razor_helper_writer, ">"); 12948 12949 12950 #line 3981 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12951 WriteTo(__razor_helper_writer, Translate("Including products")); 12952 12953 12954 #line default 12955 #line hidden 12956 WriteLiteralTo(__razor_helper_writer, "</h2>\r\n"); 12957 12958 12959 #line 3982 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12960 foreach (LoopItem BOMProductItem in GetLoop("BOMProducts")) 12961 { 12962 string link = "/" + BOMProductItem.GetString("Ecom:Product.LinkGroup.Clean") + (!String.IsNullOrEmpty(BOMProductItem.GetString("Ecom:Product.VariantID")) ? "&VariantID=" + BOMProductItem.GetString("Ecom:Product.VariantID") : ""); 12963 12964 12965 #line default 12966 #line hidden 12967 WriteLiteralTo(__razor_helper_writer, " <div"); 12968 12969 WriteLiteralTo(__razor_helper_writer, " class=\"grid__col--border grid\""); 12970 12971 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 12972 12973 WriteLiteralTo(__razor_helper_writer, " class=\"grid__cell grid__cell--align-middle-left\""); 12974 12975 WriteLiteralTo(__razor_helper_writer, ">\r\n <a"); 12976 12977 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 165476), Tuple.Create("\"", 165488) 12978 12979 #line 3987 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12980 , Tuple.Create(Tuple.Create("", 165483), Tuple.Create<System.Object, System.Int32>(link 12981 12982 #line default 12983 #line hidden 12984 , 165483), false) 12985 ); 12986 12987 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left u-margin-right\""); 12988 12989 WriteLiteralTo(__razor_helper_writer, ">\r\n <img"); 12990 12991 WriteLiteralTo(__razor_helper_writer, " class=\"b-lazy\""); 12992 12993 WriteLiteralTo(__razor_helper_writer, " src=\"/Files/Images/placeholder.gif\""); 12994 12995 WriteLiteralTo(__razor_helper_writer, " data-src=\"/Admin/Public/GetImage.ashx?width=50&image="); 12996 12997 12998 #line 3988 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 12999 WriteTo(__razor_helper_writer, GetProductImage(BOMProductItem)); 13000 13001 13002 #line default 13003 #line hidden 13004 WriteLiteralTo(__razor_helper_writer, "&Compression=99\""); 13005 13006 WriteAttributeTo(__razor_helper_writer, "alt", Tuple.Create(" alt=\"", 165709), Tuple.Create("\"", 165761) 13007 13008 #line 3988 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13009 , Tuple.Create(Tuple.Create("", 165715), Tuple.Create<System.Object, System.Int32>(BOMProductItem.GetString("Ecom:Product.Name") 13010 13011 #line default 13012 #line hidden 13013 , 165715), false) 13014 ); 13015 13016 WriteLiteralTo(__razor_helper_writer, " />\r\n </a>\r\n <a"); 13017 13018 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 165815), Tuple.Create("\"", 165827) 13019 13020 #line 3990 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13021 , Tuple.Create(Tuple.Create("", 165822), Tuple.Create<System.Object, System.Int32>(link 13022 13023 #line default 13024 #line hidden 13025 , 165822), false) 13026 ); 13027 13028 WriteLiteralTo(__razor_helper_writer, ">"); 13029 13030 13031 #line 3990 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13032 WriteTo(__razor_helper_writer, BOMProductItem.GetString("Ecom:Product.Name")); 13033 13034 13035 #line default 13036 #line hidden 13037 WriteLiteralTo(__razor_helper_writer, "</a>\r\n </div>\r\n </div>\r\n"); 13038 13039 13040 #line 3993 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13041 } 13042 } 13043 13044 13045 #line default 13046 #line hidden 13047 }); 13048 13049 #line 3995 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13050 } 13051 #line default 13052 #line hidden 13053 13054 13055 #line 3997 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13056 public RazorEngine.Templating.TemplateWriter RenderMainInfoBuy() 13057 { 13058 #line default 13059 #line hidden 13060 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 13061 13062 #line 3998 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13063 13064 string pageId = GetGlobalValue("Global:Page.ID").ToString(); 13065 string variantId = HttpContext.Current.Request.QueryString.Get("variantId"); 13066 string productId = GetString("Ecom:Product.ID"); 13067 string feedId = pageId + "&ProductID=" + productId + "&VariantID=" + variantId + "&Feed=True&redirect=false"; 13068 string updateJsonFeed = "Feed=true&redirect=false"; 13069 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 13070 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 13071 13072 13073 13074 #line default 13075 #line hidden 13076 WriteLiteralTo(__razor_helper_writer, " <div"); 13077 13078 WriteLiteralTo(__razor_helper_writer, " class=\"product__price-actions js-handlebars-root dw-mod\""); 13079 13080 WriteLiteralTo(__razor_helper_writer, " id=\"PriceAndActions\""); 13081 13082 WriteLiteralTo(__razor_helper_writer, "\r\n data-template=\"PricesAndActionsTemplate\""); 13083 13084 WriteLiteralTo(__razor_helper_writer, "\r\n data-json-feed=\"/Default.aspx?ID="); 13085 13086 13087 #line 4009 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13088 WriteTo(__razor_helper_writer, feedId); 13089 13090 13091 #line default 13092 #line hidden 13093 13094 #line 4009 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13095 WriteTo(__razor_helper_writer, liveProductInfoParameter); 13096 13097 13098 #line default 13099 #line hidden 13100 WriteLiteralTo(__razor_helper_writer, "\""); 13101 13102 WriteLiteralTo(__razor_helper_writer, "\r\n data-preloader=\"minimal\""); 13103 13104 WriteLiteralTo(__razor_helper_writer, "\r\n data-update-json-feed=\""); 13105 13106 13107 #line 4011 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13108 WriteTo(__razor_helper_writer, updateJsonFeed); 13109 13110 13111 #line default 13112 #line hidden 13113 WriteLiteralTo(__razor_helper_writer, "\""); 13114 13115 WriteLiteralTo(__razor_helper_writer, "></div>\r\n"); 13116 13117 WriteLiteralTo(__razor_helper_writer, " <input"); 13118 13119 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 13120 13121 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 166926), Tuple.Create("\"", 166979) 13122 13123 #line 4012 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13124 , Tuple.Create(Tuple.Create("", 166934), Tuple.Create<System.Object, System.Int32>(GetString("Ecom:Product.VariantID.Extented") 13125 13126 #line default 13127 #line hidden 13128 , 166934), false) 13129 ); 13130 13131 WriteLiteralTo(__razor_helper_writer, " name=\"Variant\""); 13132 13133 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 166995), Tuple.Create("\"", 167037) 13134 , Tuple.Create(Tuple.Create("", 167000), Tuple.Create("Variant_", 167000), true) 13135 13136 #line 4012 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13137 , Tuple.Create(Tuple.Create("", 167008), Tuple.Create<System.Object, System.Int32>(GetString("Ecom:Product.ID") 13138 13139 #line default 13140 #line hidden 13141 , 167008), false) 13142 ); 13143 13144 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 13145 13146 13147 #line 4013 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13148 13149 13150 #line default 13151 #line hidden 13152 13153 #line 4013 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13154 WriteTo(__razor_helper_writer, RenderMainInfoBuyScripts()); 13155 13156 13157 #line default 13158 #line hidden 13159 13160 #line 4013 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13161 13162 13163 13164 #line default 13165 #line hidden 13166 }); 13167 13168 #line 4014 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13169 } 13170 #line default 13171 #line hidden 13172 13173 13174 #line 4016 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13175 public RazorEngine.Templating.TemplateWriter RenderPriceInfo() 13176 { 13177 #line default 13178 #line hidden 13179 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 13180 13181 #line 4017 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13182 13183 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 13184 bool showPrice = !Pageview.AreaSettings.GetItem("ProductList").GetBoolean("HidePrice"); 13185 bool showCartButton = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideAddToCartButton"); 13186 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductList").GetBoolean("ShowBothPricesWithWithoutVAT"); 13187 bool isPricesWithVATEnabled = Converter.ToBoolean(Pageview.Area.EcomPricesWithVat); 13188 13189 if (showPrice && Dynamicweb.Rapido.Services.User.IsPricesAllowed()) 13190 { 13191 if (pointShopOnly) 13192 { 13193 13194 13195 #line default 13196 #line hidden 13197 WriteLiteralTo(__razor_helper_writer, " "); 13198 13199 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if havePointPrice}}\r\n <div"); 13200 13201 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-page dw-mod\""); 13202 13203 WriteLiteralTo(__razor_helper_writer, ">{{points}} "); 13204 13205 13206 #line 4030 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13207 WriteTo(__razor_helper_writer, Translate("points")); 13208 13209 13210 #line default 13211 #line hidden 13212 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 13213 13214 13215 #line 4031 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13216 13217 13218 #line default 13219 #line hidden 13220 13221 #line 4031 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13222 if (showCartButton) 13223 { 13224 13225 13226 #line default 13227 #line hidden 13228 WriteLiteralTo(__razor_helper_writer, " "); 13229 13230 WriteLiteralTo(__razor_helper_writer, "\r\n {{#unless canBePurchasedWithPoints}}\r\n " + 13231 " <small"); 13232 13233 WriteLiteralTo(__razor_helper_writer, " class=\"help-text u-no-margin\""); 13234 13235 WriteLiteralTo(__razor_helper_writer, ">"); 13236 13237 13238 #line 4035 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13239 WriteTo(__razor_helper_writer, Translate("Not enough points to buy this")); 13240 13241 13242 #line default 13243 #line hidden 13244 WriteLiteralTo(__razor_helper_writer, "</small>\r\n {{/unless}}\r\n "); 13245 13246 WriteLiteralTo(__razor_helper_writer, "\r\n"); 13247 13248 13249 #line 4038 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13250 } 13251 13252 13253 #line default 13254 #line hidden 13255 WriteLiteralTo(__razor_helper_writer, " {{else}}\r\n"); 13256 13257 WriteLiteralTo(__razor_helper_writer, " "); 13258 13259 13260 #line 4040 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13261 WriteTo(__razor_helper_writer, Translate("Not available")); 13262 13263 13264 #line default 13265 #line hidden 13266 WriteLiteralTo(__razor_helper_writer, "\r\n {{/if}}\r\n "); 13267 13268 WriteLiteralTo(__razor_helper_writer, "\r\n"); 13269 13270 13271 #line 4043 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13272 13273 } 13274 else 13275 { 13276 13277 13278 #line default 13279 #line hidden 13280 WriteLiteralTo(__razor_helper_writer, " <div"); 13281 13282 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-page dw-mod\""); 13283 13284 WriteLiteralTo(__razor_helper_writer, ">{{price}}</div>\r\n"); 13285 13286 WriteLiteralTo(__razor_helper_writer, " <div"); 13287 13288 WriteLiteralTo(__razor_helper_writer, " class=\"before-price {{onSale}} dw-mod\""); 13289 13290 WriteLiteralTo(__razor_helper_writer, ">{{discount}}</div>\r\n"); 13291 13292 13293 #line 4049 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13294 if (showVATPrice) 13295 { 13296 13297 13298 #line default 13299 #line hidden 13300 WriteLiteralTo(__razor_helper_writer, " <div"); 13301 13302 WriteLiteralTo(__razor_helper_writer, " class=\"vat-price vat-price--product-page u-margin-top dw-mod\""); 13303 13304 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 13305 13306 13307 #line 4052 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13308 13309 13310 #line default 13311 #line hidden 13312 13313 #line 4052 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13314 if (isPricesWithVATEnabled) 13315 { 13316 13317 13318 #line default 13319 #line hidden 13320 WriteLiteralTo(__razor_helper_writer, " <span>"); 13321 13322 13323 #line 4054 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13324 WriteTo(__razor_helper_writer, Translate("excl. VAT")); 13325 13326 13327 #line default 13328 #line hidden 13329 WriteLiteralTo(__razor_helper_writer, "</span>"); 13330 13331 WriteLiteralTo(__razor_helper_writer, "<span> ({{priceWithoutVAT}})</span>\r\n"); 13332 13333 13334 #line 4055 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13335 } 13336 else 13337 { 13338 13339 13340 #line default 13341 #line hidden 13342 WriteLiteralTo(__razor_helper_writer, " <span>"); 13343 13344 13345 #line 4058 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13346 WriteTo(__razor_helper_writer, Translate("incl. VAT")); 13347 13348 13349 #line default 13350 #line hidden 13351 WriteLiteralTo(__razor_helper_writer, "</span>"); 13352 13353 WriteLiteralTo(__razor_helper_writer, "<span> ({{priceWithVAT}})</span>\r\n"); 13354 13355 13356 #line 4059 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13357 } 13358 13359 13360 #line default 13361 #line hidden 13362 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 13363 13364 13365 #line 4061 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13366 } 13367 13368 13369 #line default 13370 #line hidden 13371 WriteLiteralTo(__razor_helper_writer, " "); 13372 13373 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if priceRRP}}\r\n <div><small>"); 13374 13375 13376 #line 4064 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13377 WriteTo(__razor_helper_writer, Translate("RRP")); 13378 13379 13380 #line default 13381 #line hidden 13382 WriteLiteralTo(__razor_helper_writer, " {{priceRRP}}</small></div>\r\n {{/if}}\r\n "); 13383 13384 WriteLiteralTo(__razor_helper_writer, "\r\n"); 13385 13386 13387 #line 4067 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13388 } 13389 } 13390 13391 13392 #line default 13393 #line hidden 13394 }); 13395 13396 #line 4069 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13397 } 13398 #line default 13399 #line hidden 13400 13401 13402 #line 4071 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13403 public RazorEngine.Templating.TemplateWriter RenderMainInfoBuyScripts() 13404 { 13405 #line default 13406 #line hidden 13407 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 13408 13409 #line 4072 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13410 13411 bool showPrice = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HidePrice"); 13412 bool showCartButton = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideAddToCartButton"); 13413 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 13414 string variantId = HttpContext.Current.Request.QueryString.Get("variantId") ?? ""; 13415 string feedId = GetGlobalValue("Global:Page.ID").ToString() + "&ProductID=" + GetString("Ecom:Product.ID") + "&VariantID=" + variantId + "&Feed=True&redirect=false"; 13416 string cartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 13417 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("ShowBothPricesWithWithoutVAT"); 13418 bool isPricesWithVATEnabled = Converter.ToBoolean(Pageview.Area.EcomPricesWithVat); 13419 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 13420 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 13421 13422 var customerId = Dynamicweb.Security.UserManagement.User.GetCurrentExtranetUserId(); 13423 var shopId = Pageview.Area.EcomShopId; 13424 var orderType = Dynamicweb.Ecommerce.Orders.OrderType.Order; 13425 var cartsList = (List<Dynamicweb.Ecommerce.Orders.Order>)Dynamicweb.Ecommerce.Services.Orders.GetCustomerOrdersByType(customerId, shopId, orderType, 0, false, "", DateTime.MinValue, false, true); 13426 bool hidePrice = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HidePrice"); 13427 13428 13429 13430 #line default 13431 #line hidden 13432 13433 #line 4090 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13434 13435 13436 13437 #line default 13438 #line hidden 13439 WriteLiteralTo(__razor_helper_writer, " <script"); 13440 13441 WriteLiteralTo(__razor_helper_writer, " id=\"PricesAndActionsTemplate\""); 13442 13443 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 13444 13445 WriteLiteralTo(__razor_helper_writer, ">\r\n {{#.}}\r\n"); 13446 13447 13448 #line 4093 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13449 13450 13451 #line default 13452 #line hidden 13453 13454 #line 4093 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13455 if (Dynamicweb.Rapido.Services.User.IsPricesAllowed() && !hidePrice) 13456 { 13457 13458 13459 #line default 13460 #line hidden 13461 WriteLiteralTo(__razor_helper_writer, " "); 13462 13463 WriteLiteralTo(__razor_helper_writer, "\r\n {{#unless hidePriceDisallowOrdering}}\r\n <div"); 13464 13465 WriteLiteralTo(__razor_helper_writer, " class=\"product__price-wrap dw-mod\""); 13466 13467 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 13468 13469 WriteLiteralTo(__razor_helper_writer, " "); 13470 13471 13472 #line 4098 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13473 WriteTo(__razor_helper_writer, RenderPriceInfo()); 13474 13475 13476 #line default 13477 #line hidden 13478 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n {{/unless}}\r\n "); 13479 13480 WriteLiteralTo(__razor_helper_writer, "\r\n"); 13481 13482 13483 #line 4102 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13484 } 13485 13486 13487 #line default 13488 #line hidden 13489 WriteLiteralTo(__razor_helper_writer, "\r\n"); 13490 13491 13492 #line 4104 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13493 13494 13495 #line default 13496 #line hidden 13497 13498 #line 4104 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13499 if (showCartButton && Dynamicweb.Rapido.Services.User.IsBuyingAllowed() && !GetBoolean("Ecom:Product:Field.DisallowOrdering")) 13500 { 13501 var addToCartBtn = new AddToCart 13502 { 13503 WrapperCssClass = "product__price-actions-flex-wrap buttons-collection--right dw-mod", 13504 AddButton = new AddToCartButton 13505 { 13506 ProductId = "{{productId}}", 13507 VariantId = "{{variantid}}", 13508 UnitId = "{{unitId}}", 13509 ProductInfo = "{{productInfo}}", 13510 BuyForPoints = pointShopOnly, 13511 OnClick = "{{facebookPixelAction}}", 13512 ExtraAttributes = new Dictionary<string, string> 13513 { 13514 { "{{disabledBuyButton}}", "" }, 13515 { "{{outOfStock}}", "" } 13516 }, 13517 CssClass = "product__price-buy-button" 13518 }, 13519 UnitSelector = new UnitSelector 13520 { 13521 OptionsContent = "{{#unitOptions}}{{>UnitOption}}{{/unitOptions}}", 13522 Id = "UnitOptions_{{id}}", 13523 SelectedOption = "{{unitName}}", 13524 CssClass = "{{#if hasOnlyOneUnit}}unit-selector--readonly{{/if}} {{hasUnits}}" 13525 } 13526 }; 13527 13528 if (!pointShopOnly) 13529 { 13530 addToCartBtn.QuantitySelector = new QuantitySelector 13531 { 13532 Id = "Quantity_{{id}}", 13533 ExtraAttributes = new Dictionary<string, string> 13534 { 13535 { "{{outOfStock}}", "" } 13536 } 13537 }; 13538 } 13539 13540 13541 13542 #line default 13543 #line hidden 13544 WriteLiteralTo(__razor_helper_writer, " <div"); 13545 13546 WriteLiteralTo(__razor_helper_writer, " class=\"product__price-actions-wrap dw-mod\""); 13547 13548 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 13549 13550 WriteLiteralTo(__razor_helper_writer, " "); 13551 13552 13553 #line 4146 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13554 WriteTo(__razor_helper_writer, Render(addToCartBtn)); 13555 13556 13557 #line default 13558 #line hidden 13559 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n"); 13560 13561 13562 #line 4148 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13563 13564 13565 #line default 13566 #line hidden 13567 13568 #line 4148 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13569 if (Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")) && User.IsBuyingAllowed() && cartsList.Count > 0 && GetPageIdByNavigationTag("OrderDraft") != 0) { 13570 var addToDraftCart = new Button 13571 { 13572 Id = "AddToDraftCart", 13573 Title = Translate("Add to draft"), 13574 ButtonLayout = ButtonLayout.Secondary, 13575 OnClick = "document.getElementById('OrderDraftSelectModalTrigger').checked = true", 13576 CssClass = "u-w220px u-margin-top" 13577 }; 13578 13579 13580 13581 #line default 13582 #line hidden 13583 13584 #line 4158 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13585 WriteTo(__razor_helper_writer, Render(addToDraftCart)); 13586 13587 13588 #line default 13589 #line hidden 13590 13591 #line 4158 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13592 13593 } 13594 13595 13596 #line default 13597 #line hidden 13598 WriteLiteralTo(__razor_helper_writer, " \r\n"); 13599 13600 13601 #line 4161 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13602 13603 13604 #line default 13605 #line hidden 13606 13607 #line 4161 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13608 if (Pageview.User != null && !pointShopOnly && Dynamicweb.Security.Licensing.LicenseManager.LicenseHasFeature("LoyaltyPoints")) 13609 { 13610 13611 13612 #line default 13613 #line hidden 13614 WriteLiteralTo(__razor_helper_writer, " "); 13615 13616 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if canBePurchasedWithPoints}}\r\n " + 13617 " <form"); 13618 13619 WriteLiteralTo(__razor_helper_writer, " method=\"post\""); 13620 13621 WriteLiteralTo(__razor_helper_writer, " role=\"form\""); 13622 13623 WriteLiteralTo(__razor_helper_writer, " class=\"u-no-margin u-margin-top\""); 13624 13625 WriteLiteralTo(__razor_helper_writer, ">\r\n <input"); 13626 13627 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 13628 13629 WriteLiteralTo(__razor_helper_writer, " name=\"ProductID\""); 13630 13631 WriteLiteralTo(__razor_helper_writer, " value=\"{{id}}\""); 13632 13633 WriteLiteralTo(__razor_helper_writer, " />\r\n <button"); 13634 13635 WriteLiteralTo(__razor_helper_writer, " type=\"submit\""); 13636 13637 WriteLiteralTo(__razor_helper_writer, " class=\"btn btn--loyalty-points product__price-points-buy-button u-no-margin dw-m" + 13638 "od pull-right u-no-margin js-cart-btn {{disabledBuyButton}}\""); 13639 13640 WriteLiteralTo(__razor_helper_writer, " name=\"CartCmd\""); 13641 13642 WriteLiteralTo(__razor_helper_writer, " value=\"addWithPoints\""); 13643 13644 WriteLiteralTo(__razor_helper_writer, ">"); 13645 13646 13647 #line 4167 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13648 WriteTo(__razor_helper_writer, Translate("Buy for")); 13649 13650 13651 #line default 13652 #line hidden 13653 WriteLiteralTo(__razor_helper_writer, " {{points}} "); 13654 13655 13656 #line 4167 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13657 WriteTo(__razor_helper_writer, Translate("points")); 13658 13659 13660 #line default 13661 #line hidden 13662 WriteLiteralTo(__razor_helper_writer, "</button>\r\n </form>\r\n {{/if}}\r\n" + 13663 " "); 13664 13665 WriteLiteralTo(__razor_helper_writer, "\r\n"); 13666 13667 13668 #line 4171 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13669 } 13670 13671 13672 #line default 13673 #line hidden 13674 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 13675 13676 13677 #line 4173 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13678 } 13679 else 13680 { 13681 13682 13683 #line default 13684 #line hidden 13685 WriteLiteralTo(__razor_helper_writer, " <button"); 13686 13687 WriteLiteralTo(__razor_helper_writer, " type=\"button\""); 13688 13689 WriteLiteralTo(__razor_helper_writer, " id=\"CartButton_{{id}}\""); 13690 13691 WriteLiteralTo(__razor_helper_writer, " class=\"u-hidden\""); 13692 13693 WriteLiteralTo(__razor_helper_writer, "></button>\r\n"); 13694 13695 13696 #line 4177 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13697 } 13698 13699 13700 #line default 13701 #line hidden 13702 WriteLiteralTo(__razor_helper_writer, " {{#unless hideStockDisallowOrdering}}\r\n"); 13703 13704 WriteLiteralTo(__razor_helper_writer, " "); 13705 13706 13707 #line 4179 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13708 WriteTo(__razor_helper_writer, RenderStockAndShipping()); 13709 13710 13711 #line default 13712 #line hidden 13713 WriteLiteralTo(__razor_helper_writer, "\r\n {{/unless}}\r\n {{/.}}\r\n </script>\r\n"); 13714 13715 13716 #line 4183 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13717 13718 13719 13720 #line default 13721 #line hidden 13722 WriteLiteralTo(__razor_helper_writer, " <script"); 13723 13724 WriteLiteralTo(__razor_helper_writer, " id=\"UnitOption\""); 13725 13726 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 13727 13728 WriteLiteralTo(__razor_helper_writer, ">\r\n <div class=\"dropdown__item dw-mod\" onclick=\"HandlebarsBolt.UpdateConte" + 13729 "nt(\'PriceAndActions\', \'{{link}}&feed=true&UnitID={{value}}"); 13730 13731 13732 #line 4185 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13733 WriteTo(__razor_helper_writer, liveProductInfoParameter); 13734 13735 13736 #line default 13737 #line hidden 13738 WriteLiteralTo(__razor_helper_writer, "\')\">{{name}}</div>\r\n </script>\r\n"); 13739 13740 13741 #line 4187 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13742 13743 13744 13745 #line default 13746 #line hidden 13747 WriteLiteralTo(__razor_helper_writer, @" <script> 13748 document.addEventListener(""DOMContentLoaded"", function () { 13749 if (document.getElementById(""PriceAndActions"")) { 13750 document.getElementById(""PriceAndActions"").addEventListener(""contentLoaded"", function (event) { 13751 if (document.querySelector("".js-variants"") != null) { 13752 MatchVariants.Update(document.querySelector("".js-variants""), ""DoNothing""); 13753 } 13754 }); 13755 } 13756 }); 13757 </script> 13758 "); 13759 13760 13761 #line 4199 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13762 13763 13764 #line default 13765 #line hidden 13766 }); 13767 13768 #line 4199 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13769 } 13770 #line default 13771 #line hidden 13772 13773 13774 #line 4201 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13775 public RazorEngine.Templating.TemplateWriter RenderOrderDraftSelectModalContent() { 13776 #line default 13777 #line hidden 13778 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 13779 13780 #line 4201 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13781 13782 var customerId = Dynamicweb.Security.UserManagement.User.GetCurrentExtranetUserId(); 13783 var shopId = Pageview.Area.EcomShopId; 13784 var orderType = Dynamicweb.Ecommerce.Orders.OrderType.Order; 13785 var cartsList = (List<Dynamicweb.Ecommerce.Orders.Order>)Dynamicweb.Ecommerce.Services.Orders.GetCustomerOrdersByType(customerId, shopId, orderType, 0, false, "", DateTime.MinValue, false, true); 13786 13787 SelectField cartSelector = new SelectField 13788 { 13789 Id = "CartSelector", 13790 Label = Translate("I want to add this product to") 13791 }; 13792 13793 foreach (Dynamicweb.Ecommerce.Orders.Order cart in cartsList) { 13794 string name = !string.IsNullOrEmpty(cart.DisplayName) ? cart.DisplayName : cart.Id; 13795 cartSelector.Options.Add(new SelectFieldOption { Label = name, Value = cart.Id }); 13796 } 13797 13798 13799 13800 #line default 13801 #line hidden 13802 13803 #line 4218 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13804 WriteTo(__razor_helper_writer, Render(cartSelector)); 13805 13806 13807 #line default 13808 #line hidden 13809 13810 #line 4218 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13811 13812 13813 13814 #line default 13815 #line hidden 13816 }); 13817 13818 #line 4219 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13819 } 13820 #line default 13821 #line hidden 13822 13823 13824 #line 4221 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13825 public RazorEngine.Templating.TemplateWriter RenderOrderDraftScripts() { 13826 #line default 13827 #line hidden 13828 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 13829 13830 #line 4221 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13831 13832 string productId = GetString("Ecom:Product.ID"); 13833 string variantId = !string.IsNullOrEmpty(GetString("Ecom:Product.VariantID")) ? GetString("Ecom:Product.VariantID") : GetString("Ecom:Product.VariantID.Extented"); 13834 string unitId = GetString("Ecom:Product.DefaultUnitID"); 13835 var cartCmdUrl = "/Default.aspx?ID=" + Pageview.Page.ID; 13836 int orderDraftPageId = GetPageIdByNavigationTag("DraftDetails"); 13837 int orderDraftParagraphId = Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(orderDraftPageId).ToList().First().ID; 13838 13839 foreach (LoopItem unitOption in GetLoop("Units")) 13840 { 13841 if (unitOption.GetString("Ecom:VariantOption.Selected") == "SELECTED") 13842 { 13843 unitId = unitOption.GetString("Ecom:VariantOption.ID"); 13844 } 13845 } 13846 13847 13848 13849 #line default 13850 #line hidden 13851 WriteLiteralTo(__razor_helper_writer, " <script>\r\n function addToSelectedCart() {\r\n var requestUrl " + 13852 "= \""); 13853 13854 13855 #line 4239 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13856 WriteTo(__razor_helper_writer, cartCmdUrl); 13857 13858 13859 #line default 13860 #line hidden 13861 WriteLiteralTo(__razor_helper_writer, "\" + \"&cartcmd=Add&Quantity=1\" + \"&CartId=\" + document.getElementById(\"CartSelecto" + 13862 "r\").value + \"&ProductId="); 13863 13864 13865 #line 4239 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13866 WriteTo(__razor_helper_writer, productId); 13867 13868 13869 #line default 13870 #line hidden 13871 WriteLiteralTo(__razor_helper_writer, "\" + \"&VariantId="); 13872 13873 13874 #line 4239 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13875 WriteTo(__razor_helper_writer, variantId); 13876 13877 13878 #line default 13879 #line hidden 13880 WriteLiteralTo(__razor_helper_writer, "\" + \"&UnitId="); 13881 13882 13883 #line 4239 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13884 WriteTo(__razor_helper_writer, unitId); 13885 13886 13887 #line default 13888 #line hidden 13889 WriteLiteralTo(__razor_helper_writer, @"""; 13890 13891 console.log(requestUrl) 13892 13893 document.getElementById('OrderDraftSelectModalTrigger').checked = false; 13894 13895 var overlayElement = document.createElement('div'); 13896 overlayElement.className = ""preloader-overlay""; 13897 overlayElement.setAttribute('id', ""CartOverlay""); 13898 var overlayElementIcon = document.createElement('div'); 13899 overlayElementIcon.className = ""preloader-overlay__icon dw-mod""; 13900 overlayElementIcon.style.top = window.pageYOffset + ""px""; 13901 overlayElement.appendChild(overlayElementIcon); 13902 document.getElementById('content').parentNode.insertBefore(overlayElement, document.getElementById('content')); 13903 13904 Request.Fetch().get( 13905 requestUrl, 13906 function () { 13907 var overlayNode = document.getElementById('CartOverlay'); 13908 overlayNode.parentNode.removeChild(overlayNode); 13909 document.getElementById('OrderDraftNotificationModalTrigger').checked = true; 13910 }, 13911 null, 13912 false 13913 ); 13914 } 13915 13916 function goToSelectedCart() { 13917 window.location = ""/Default.aspx?ID="" + """); 13918 13919 13920 #line 4267 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13921 WriteTo(__razor_helper_writer, orderDraftPageId); 13922 13923 13924 #line default 13925 #line hidden 13926 WriteLiteralTo(__razor_helper_writer, "\" + \"&CartID=\" + document.getElementById(\'CartSelector\').value + \"&CartCmd=setcar" + 13927 "t\" + \"&redirect=false\";\r\n }\r\n </script> \r\n"); 13928 13929 13930 #line 4270 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13931 13932 13933 #line default 13934 #line hidden 13935 }); 13936 13937 #line 4270 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13938 } 13939 #line default 13940 #line hidden 13941 13942 13943 #line 4272 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13944 public RazorEngine.Templating.TemplateWriter RenderGoogleTagManagerScripts() { 13945 #line default 13946 #line hidden 13947 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 13948 13949 #line 4272 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13950 13951 bool useGoogleTagManager = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("Settings").GetString("GoogleTagManagerID")); 13952 13953 if (useGoogleTagManager) 13954 { 13955 var groupObject = Dynamicweb.Ecommerce.Services.ProductGroups.GetGroup(GetString("Ecom:Product.PrimaryOrFirstGroupID")); 13956 13957 13958 13959 #line default 13960 #line hidden 13961 WriteLiteralTo(__razor_helper_writer, @" <script> 13962 // Measure a view of product details. This example assumes the detail view occurs on pageload, 13963 // and also tracks a standard pageview of the details page. 13964 dataLayer.push({ 13965 'event': 'productDetails', 13966 ""ecommerce"": { 13967 ""detail"": { 13968 ""currencyCode"": """); 13969 13970 13971 #line 4286 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13972 WriteTo(__razor_helper_writer, GetString("Ecom:Product.Price.Currency.Code")); 13973 13974 13975 #line default 13976 #line hidden 13977 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"actionField\": {}, // \'detail\' actions have an opt" + 13978 "ional list property.\r\n \"products\": [{\r\n " + 13979 " \"name\": \""); 13980 13981 13982 #line 4289 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13983 WriteTo(__razor_helper_writer, GetString("Ecom:Product.Name")); 13984 13985 13986 #line default 13987 #line hidden 13988 WriteLiteralTo(__razor_helper_writer, "\", // Name or ID is required.\r\n \"id\": \""); 13989 13990 13991 #line 4290 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 13992 WriteTo(__razor_helper_writer, GetString("Ecom:Product.ID")); 13993 13994 13995 #line default 13996 #line hidden 13997 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"price\": \""); 13998 13999 14000 #line 4291 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14001 WriteTo(__razor_helper_writer, GetDouble("Ecom:Product.Discount.Price.Price") != GetDouble("Ecom:Product.Price.Price") ? GetDouble("Ecom:Product.Discount.Price.Price") : GetDouble("Ecom:Product.Price.Price")); 14002 14003 14004 #line default 14005 #line hidden 14006 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"brand\": \""); 14007 14008 14009 #line 4292 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14010 WriteTo(__razor_helper_writer, GetString("Ecom:Product:Field.brand.Value")); 14011 14012 14013 #line default 14014 #line hidden 14015 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"category\": \""); 14016 14017 14018 #line 4293 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14019 WriteTo(__razor_helper_writer, groupObject != null ? groupObject.Name : ""); 14020 14021 14022 #line default 14023 #line hidden 14024 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"variant\": \""); 14025 14026 14027 #line 4294 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14028 WriteTo(__razor_helper_writer, !string.IsNullOrEmpty(GetString("Ecom:Product.VariantID")) ? GetString("Ecom:Product.VariantID") : GetString("Ecom:Product.VariantID.Extented")); 14029 14030 14031 #line default 14032 #line hidden 14033 WriteLiteralTo(__razor_helper_writer, "\"\r\n }]\r\n }\r\n }\r\n " + 14034 " });\r\n </script>\r\n"); 14035 14036 14037 #line 4300 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14038 } 14039 14040 14041 #line default 14042 #line hidden 14043 }); 14044 14045 #line 4301 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14046 } 14047 #line default 14048 #line hidden 14049 14050 14051 #line 4310 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14052 14053 BlocksPage productAssetsPage = BlocksPage.GetBlockPage("Product"); 14054 14055 #line default 14056 #line hidden 14057 14058 14059 #line 4337 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14060 public RazorEngine.Templating.TemplateWriter RenderProductAssets(string layout, List<LoopItem> documents) 14061 { 14062 #line default 14063 #line hidden 14064 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 14065 14066 #line 4338 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14067 14068 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductAssetsLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 14069 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductAssetsLayout").SelectedValue == "Ribbon" ? "u-padding--lg" : ""; 14070 string exportPageId = GetPageIdByNavigationTag("ProductExportFeed").ToString(); 14071 14072 //images 14073 14074 HashSet<string> images = new HashSet<string>(); 14075 14076 images.Add(GetProductImage()); 14077 14078 foreach (LoopItem alternativeImage in GetLoop("Ecom:Product.AlternativeImages")) 14079 { 14080 string alt_image = alternativeImage.GetString("Ecom:Product.AlternativeImages.Image"); 14081 14082 if (!string.IsNullOrEmpty(alt_image)) 14083 { 14084 images.Add(alt_image); 14085 } 14086 } 14087 14088 foreach (LoopItem detail in GetLoop("Details")) 14089 { 14090 string detail_image = detail.GetString("Ecom:Product:Detail.Image.Clean"); 14091 14092 if (!string.IsNullOrEmpty(detail_image)) 14093 { 14094 images.Add(detail_image); 14095 } 14096 } 14097 14098 14099 14100 #line default 14101 #line hidden 14102 WriteLiteralTo(__razor_helper_writer, " <div"); 14103 14104 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 183953), Tuple.Create("\"", 183999) 14105 , Tuple.Create(Tuple.Create("", 183961), Tuple.Create("product__section", 183961), true) 14106 14107 #line 4369 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14108 , Tuple.Create(Tuple.Create(" ", 183977), Tuple.Create<System.Object, System.Int32>(ribbonClasses 14109 14110 #line default 14111 #line hidden 14112 , 183978), false) 14113 , Tuple.Create(Tuple.Create(" ", 183992), Tuple.Create("dw-mod", 183993), true) 14114 ); 14115 14116 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 14117 14118 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 184015), Tuple.Create("\"", 184085) 14119 , Tuple.Create(Tuple.Create("", 184023), Tuple.Create("product__description", 184023), true) 14120 , Tuple.Create(Tuple.Create(" ", 184043), Tuple.Create("center-container", 184044), true) 14121 14122 #line 4370 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14123 , Tuple.Create(Tuple.Create(" ", 184060), Tuple.Create<System.Object, System.Int32>(ribbonSubClasses 14124 14125 #line default 14126 #line hidden 14127 , 184061), false) 14128 , Tuple.Create(Tuple.Create(" ", 184078), Tuple.Create("dw-mod", 184079), true) 14129 ); 14130 14131 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14132 14133 14134 #line 4371 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14135 14136 14137 #line default 14138 #line hidden 14139 14140 #line 4371 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14141 if (layout == "Section") 14142 { 14143 14144 14145 #line default 14146 #line hidden 14147 14148 #line 4373 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14149 WriteTo(__razor_helper_writer, Render(new Heading { Title = Translate("Product assets"), Level = 2 })); 14150 14151 14152 #line default 14153 #line hidden 14154 14155 #line 4373 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14156 14157 } 14158 14159 14160 #line default 14161 #line hidden 14162 WriteLiteralTo(__razor_helper_writer, "\r\n <form"); 14163 14164 WriteAttributeTo(__razor_helper_writer, "action", Tuple.Create(" action=\"", 184266), Tuple.Create("\"", 184463) 14165 , Tuple.Create(Tuple.Create("", 184275), Tuple.Create("/Default.aspx?ID=", 184275), true) 14166 14167 #line 4376 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14168 , Tuple.Create(Tuple.Create("", 184292), Tuple.Create<System.Object, System.Int32>(exportPageId 14169 14170 #line default 14171 #line hidden 14172 , 184292), false) 14173 , Tuple.Create(Tuple.Create("", 184305), Tuple.Create("&ProductID=", 184305), true) 14174 14175 #line 4376 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14176 , Tuple.Create(Tuple.Create("", 184316), Tuple.Create<System.Object, System.Int32>(System.Web.HttpContext.Current.Request.QueryString.Get("ProductID") 14177 14178 #line default 14179 #line hidden 14180 , 184316), false) 14181 , Tuple.Create(Tuple.Create("", 184384), Tuple.Create("&VariantID=", 184384), true) 14182 14183 #line 4376 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14184 , Tuple.Create(Tuple.Create("", 184395), Tuple.Create<System.Object, System.Int32>(System.Web.HttpContext.Current.Request.QueryString.Get("VariantID") 14185 14186 #line default 14187 #line hidden 14188 , 184395), false) 14189 ); 14190 14191 WriteLiteralTo(__razor_helper_writer, " method=\"post\""); 14192 14193 WriteLiteralTo(__razor_helper_writer, " class=\"u-flex grid--direction-column u-no-margin\""); 14194 14195 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 14196 14197 WriteLiteralTo(__razor_helper_writer, " class=\"grid\""); 14198 14199 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14200 14201 14202 #line 4378 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14203 14204 14205 #line default 14206 #line hidden 14207 14208 #line 4378 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14209 if (images.Count > 0) 14210 { 14211 14212 14213 #line default 14214 #line hidden 14215 WriteLiteralTo(__razor_helper_writer, " <div"); 14216 14217 WriteLiteralTo(__razor_helper_writer, " class=\"grid__col-md-4 js-checkboxes-list\""); 14218 14219 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14220 14221 WriteLiteralTo(__razor_helper_writer, " "); 14222 14223 14224 #line 4381 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14225 WriteTo(__razor_helper_writer, Render(new CheckboxField { Id = "allImages", OnChange = "selectAll(this)", Label = Translate("Images") + "(" + images.Count + ")" })); 14226 14227 14228 #line default 14229 #line hidden 14230 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n <ul"); 14231 14232 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list\""); 14233 14234 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14235 14236 14237 #line 4384 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14238 14239 14240 #line default 14241 #line hidden 14242 14243 #line 4384 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14244 foreach (string image in images) 14245 { 14246 14247 14248 #line default 14249 #line hidden 14250 14251 #line 4386 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14252 WriteTo(__razor_helper_writer, RenderProductPanelListItem(image)); 14253 14254 14255 #line default 14256 #line hidden 14257 14258 #line 4386 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14259 14260 } 14261 14262 14263 #line default 14264 #line hidden 14265 WriteLiteralTo(__razor_helper_writer, " </ul>\r\n </div>\r\n"); 14266 14267 14268 #line 4390 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14269 } 14270 14271 14272 #line default 14273 #line hidden 14274 WriteLiteralTo(__razor_helper_writer, "\r\n"); 14275 14276 14277 #line 4392 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14278 14279 14280 #line default 14281 #line hidden 14282 14283 #line 4392 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14284 if (documents.Count > 0) 14285 { 14286 14287 14288 #line default 14289 #line hidden 14290 WriteLiteralTo(__razor_helper_writer, " <div"); 14291 14292 WriteLiteralTo(__razor_helper_writer, " class=\"grid__col-md-4 js-checkboxes-list\""); 14293 14294 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14295 14296 WriteLiteralTo(__razor_helper_writer, " "); 14297 14298 14299 #line 4395 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14300 WriteTo(__razor_helper_writer, Render(new CheckboxField { Id = "allDocuments", OnChange = "selectAll(this)", Label = Translate("Documents") + "(" + documents.Count + ")" })); 14301 14302 14303 #line default 14304 #line hidden 14305 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n <ul"); 14306 14307 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list\""); 14308 14309 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14310 14311 14312 #line 4398 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14313 14314 14315 #line default 14316 #line hidden 14317 14318 #line 4398 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14319 foreach (LoopItem document in documents) 14320 { 14321 string fieldValue; 14322 if (!string.IsNullOrEmpty(document.GetString("Document.FullPath"))) 14323 { 14324 fieldValue = document.GetString("Product.CustomField.Value.Clean"); 14325 14326 14327 #line default 14328 #line hidden 14329 14330 #line 4404 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14331 WriteTo(__razor_helper_writer, RenderDocument(fieldValue)); 14332 14333 14334 #line default 14335 #line hidden 14336 14337 #line 4404 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14338 14339 } 14340 if (document.GetString("Ecom:Product.CategoryField.TypeID") == "9") 14341 { 14342 fieldValue = document.GetString("Ecom:Product.CategoryField.Value"); 14343 14344 14345 #line default 14346 #line hidden 14347 14348 #line 4409 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14349 WriteTo(__razor_helper_writer, RenderDocument(fieldValue)); 14350 14351 14352 #line default 14353 #line hidden 14354 14355 #line 4409 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14356 14357 } 14358 if (!string.IsNullOrEmpty(document.GetString("Ecom:Product:Detail.Image.Clean"))) 14359 { 14360 fieldValue = document.GetString("Ecom:Product:Detail.Image.Clean"); 14361 14362 14363 #line default 14364 #line hidden 14365 14366 #line 4414 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14367 WriteTo(__razor_helper_writer, RenderDocument(fieldValue)); 14368 14369 14370 #line default 14371 #line hidden 14372 14373 #line 4414 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14374 14375 } 14376 } 14377 14378 14379 #line default 14380 #line hidden 14381 WriteLiteralTo(__razor_helper_writer, " </ul>\r\n </div>\r\n"); 14382 14383 14384 #line 4419 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14385 } 14386 14387 14388 #line default 14389 #line hidden 14390 WriteLiteralTo(__razor_helper_writer, " <div"); 14391 14392 WriteLiteralTo(__razor_helper_writer, " class=\"grid__col-md-4\""); 14393 14394 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14395 14396 WriteLiteralTo(__razor_helper_writer, " "); 14397 14398 14399 #line 4421 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14400 WriteTo(__razor_helper_writer, Render(new HiddenField { Id = "ID", Name = "ID", Value = "532" })); 14401 14402 14403 #line default 14404 #line hidden 14405 WriteLiteralTo(__razor_helper_writer, "\r\n"); 14406 14407 WriteLiteralTo(__razor_helper_writer, " "); 14408 14409 14410 #line 4422 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14411 WriteTo(__razor_helper_writer, Render(new HiddenField { Id = "download", Name = "download", Value = "true" })); 14412 14413 14414 #line default 14415 #line hidden 14416 WriteLiteralTo(__razor_helper_writer, "\r\n"); 14417 14418 WriteLiteralTo(__razor_helper_writer, " "); 14419 14420 14421 #line 4423 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14422 WriteTo(__razor_helper_writer, Render(new HiddenField { Id = "siteUrl", Name = "siteUrl", Value = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host")) })); 14423 14424 14425 #line default 14426 #line hidden 14427 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n <div"); 14428 14429 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-margin-bottom\""); 14430 14431 WriteLiteralTo(__razor_helper_writer, ">"); 14432 14433 14434 #line 4425 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14435 WriteTo(__razor_helper_writer, Translate("Export")); 14436 14437 14438 #line default 14439 #line hidden 14440 WriteLiteralTo(__razor_helper_writer, "</div>\r\n\r\n"); 14441 14442 14443 #line 4427 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14444 14445 14446 #line default 14447 #line hidden 14448 14449 #line 4427 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14450 14451 SelectField languageSelect = new SelectField 14452 { 14453 Id = "exportLanguage", 14454 Label = Translate("Language"), 14455 Name = "RequestLanguageId", 14456 CssClass = "u-full-width" 14457 }; 14458 foreach (var lang in Dynamicweb.Content.Services.Languages.GetLanguages().OrderBy(l => l.Name)) 14459 { 14460 var selected = lang.IsDefault ? true : false; 14461 languageSelect.Options.Add(new SelectFieldOption { Label = lang.Name, Value = lang.LanguageId, Checked = selected }); 14462 } 14463 14464 14465 #line default 14466 #line hidden 14467 14468 #line 4440 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14469 WriteTo(__razor_helper_writer, Render(languageSelect)); 14470 14471 14472 #line default 14473 #line hidden 14474 14475 #line 4440 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14476 14477 14478 SelectField purposeSelect = new SelectField 14479 { 14480 Id = "purpose", 14481 Label = Translate("Image purpose"), 14482 Name = "purpose", 14483 CssClass = "u-full-width" 14484 }; 14485 purposeSelect.Options.Add(new SelectFieldOption { Label = Translate("Office"), Value = "Office" }); 14486 purposeSelect.Options.Add(new SelectFieldOption { Label = Translate("Original"), Value = "Original" }); 14487 purposeSelect.Options.Add(new SelectFieldOption { Label = Translate("Print"), Value = "Print" }); 14488 purposeSelect.Options.Add(new SelectFieldOption { Label = Translate("Web"), Value = "Web" }); 14489 14490 14491 #line default 14492 #line hidden 14493 14494 #line 4453 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14495 WriteTo(__razor_helper_writer, Render(purposeSelect)); 14496 14497 14498 #line default 14499 #line hidden 14500 14501 #line 4453 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14502 14503 14504 SelectField formatSelect = new SelectField 14505 { 14506 Id = "exportFormat", 14507 Label = Translate("Export format"), 14508 Name = "format", 14509 CssClass = "u-full-width" 14510 }; 14511 formatSelect.Options.Add(new SelectFieldOption { Label = Translate("Csv"), Value = "csv" }); 14512 formatSelect.Options.Add(new SelectFieldOption { Label = Translate("Json"), Value = "json" }); 14513 formatSelect.Options.Add(new SelectFieldOption { Label = Translate("Xml"), Value = "xml" }); 14514 14515 14516 #line default 14517 #line hidden 14518 14519 #line 4465 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14520 WriteTo(__razor_helper_writer, Render(formatSelect)); 14521 14522 14523 #line default 14524 #line hidden 14525 14526 #line 4465 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14527 14528 14529 14530 #line default 14531 #line hidden 14532 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n"); 14533 14534 WriteLiteralTo(__razor_helper_writer, " "); 14535 14536 14537 #line 4468 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14538 WriteTo(__razor_helper_writer, Render(new Button { ButtonType = ButtonType.Submit, ButtonLayout = ButtonLayout.Primary, CssClass = "btn--full u-no-margin", Title = Translate("Download") })); 14539 14540 14541 #line default 14542 #line hidden 14543 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </div>\r\n </form>\r\n " + 14544 " </div>\r\n </div>\r\n"); 14545 14546 WriteLiteralTo(__razor_helper_writer, @" <script> 14547 function selectAll(checkbox) { 14548 checkbox.closest("".js-checkboxes-list"").querySelectorAll("".js-checkbox"").forEach(function (input) { 14549 input.checked = checkbox.checked; 14550 }); 14551 } 14552 </script> 14553 "); 14554 14555 14556 #line 4481 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14557 14558 14559 #line default 14560 #line hidden 14561 }); 14562 14563 #line 4481 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14564 } 14565 #line default 14566 #line hidden 14567 14568 14569 #line 4483 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14570 public RazorEngine.Templating.TemplateWriter RenderProductPanelListItem(string imageName) 14571 { 14572 #line default 14573 #line hidden 14574 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 14575 14576 #line 4484 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14577 14578 14579 14580 #line default 14581 #line hidden 14582 WriteLiteralTo(__razor_helper_writer, " <li"); 14583 14584 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list__item\""); 14585 14586 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 14587 14588 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list__item-check\""); 14589 14590 WriteLiteralTo(__razor_helper_writer, ">\r\n <input"); 14591 14592 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 190856), Tuple.Create("\"", 190877) 14593 , Tuple.Create(Tuple.Create("", 190861), Tuple.Create("Image_", 190861), true) 14594 14595 #line 4487 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14596 , Tuple.Create(Tuple.Create("", 190867), Tuple.Create<System.Object, System.Int32>(imageName 14597 14598 #line default 14599 #line hidden 14600 , 190867), false) 14601 ); 14602 14603 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 190878), Tuple.Create("\"", 190901) 14604 , Tuple.Create(Tuple.Create("", 190885), Tuple.Create("Image_", 190885), true) 14605 14606 #line 4487 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14607 , Tuple.Create(Tuple.Create("", 190891), Tuple.Create<System.Object, System.Int32>(imageName 14608 14609 #line default 14610 #line hidden 14611 , 190891), false) 14612 ); 14613 14614 WriteLiteralTo(__razor_helper_writer, " type=\"checkbox\""); 14615 14616 WriteLiteralTo(__razor_helper_writer, " class=\"form__control u-no-margin dw-mod js-checkbox\""); 14617 14618 WriteLiteralTo(__razor_helper_writer, " />\r\n <label"); 14619 14620 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 190994), Tuple.Create("\"", 191016) 14621 , Tuple.Create(Tuple.Create("", 191000), Tuple.Create("Image_", 191000), true) 14622 14623 #line 4488 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14624 , Tuple.Create(Tuple.Create("", 191006), Tuple.Create<System.Object, System.Int32>(imageName 14625 14626 #line default 14627 #line hidden 14628 , 191006), false) 14629 ); 14630 14631 WriteLiteralTo(__razor_helper_writer, "></label>\r\n </div>\r\n <div"); 14632 14633 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list__item-image\""); 14634 14635 WriteLiteralTo(__razor_helper_writer, ">\r\n <label"); 14636 14637 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 191108), Tuple.Create("\"", 191130) 14638 , Tuple.Create(Tuple.Create("", 191114), Tuple.Create("Image_", 191114), true) 14639 14640 #line 4491 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14641 , Tuple.Create(Tuple.Create("", 191120), Tuple.Create<System.Object, System.Int32>(imageName 14642 14643 #line default 14644 #line hidden 14645 , 191120), false) 14646 ); 14647 14648 WriteLiteralTo(__razor_helper_writer, " class=\"u-no-margin\""); 14649 14650 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14651 14652 WriteLiteralTo(__razor_helper_writer, " "); 14653 14654 14655 #line 4492 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14656 WriteTo(__razor_helper_writer, Render(new Image { Path = imageName, Title = Path.GetFileName(imageName), ImageDefault = new ImageSettings { Width = 55, Height = 55, Crop = 5, FillCanvas = true } })); 14657 14658 14659 #line default 14660 #line hidden 14661 WriteLiteralTo(__razor_helper_writer, "\r\n </label>\r\n </div>\r\n <div"); 14662 14663 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list__item-name\""); 14664 14665 WriteLiteralTo(__razor_helper_writer, ">\r\n <label"); 14666 14667 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 191440), Tuple.Create("\"", 191462) 14668 , Tuple.Create(Tuple.Create("", 191446), Tuple.Create("Image_", 191446), true) 14669 14670 #line 4496 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14671 , Tuple.Create(Tuple.Create("", 191452), Tuple.Create<System.Object, System.Int32>(imageName 14672 14673 #line default 14674 #line hidden 14675 , 191452), false) 14676 ); 14677 14678 WriteLiteralTo(__razor_helper_writer, " class=\"u-truncate-text u-w170px\""); 14679 14680 WriteAttributeTo(__razor_helper_writer, "title", Tuple.Create(" title=\"", 191496), Tuple.Create("\"", 191532) 14681 14682 #line 4496 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14683 , Tuple.Create(Tuple.Create("", 191504), Tuple.Create<System.Object, System.Int32>(Path.GetFileName(imageName) 14684 14685 #line default 14686 #line hidden 14687 , 191504), false) 14688 ); 14689 14690 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14691 14692 WriteLiteralTo(__razor_helper_writer, " "); 14693 14694 14695 #line 4497 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14696 WriteTo(__razor_helper_writer, Path.GetFileName(imageName)); 14697 14698 14699 #line default 14700 #line hidden 14701 WriteLiteralTo(__razor_helper_writer, "\r\n </label>\r\n </div>\r\n </li>\r\n"); 14702 14703 14704 #line 4501 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14705 14706 14707 #line default 14708 #line hidden 14709 }); 14710 14711 #line 4501 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14712 } 14713 #line default 14714 #line hidden 14715 14716 14717 #line 4503 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14718 public RazorEngine.Templating.TemplateWriter RenderDocument(string fieldValue) 14719 { 14720 #line default 14721 #line hidden 14722 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 14723 14724 #line 4504 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14725 14726 14727 14728 #line default 14729 #line hidden 14730 WriteLiteralTo(__razor_helper_writer, " <li"); 14731 14732 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list__item\""); 14733 14734 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 14735 14736 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list__item-check\""); 14737 14738 WriteLiteralTo(__razor_helper_writer, ">\r\n <input"); 14739 14740 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 191781), Tuple.Create("\"", 191806) 14741 , Tuple.Create(Tuple.Create("", 191786), Tuple.Create("Document_", 191786), true) 14742 14743 #line 4507 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14744 , Tuple.Create(Tuple.Create("", 191795), Tuple.Create<System.Object, System.Int32>(fieldValue 14745 14746 #line default 14747 #line hidden 14748 , 191795), false) 14749 ); 14750 14751 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 191807), Tuple.Create("\"", 191834) 14752 , Tuple.Create(Tuple.Create("", 191814), Tuple.Create("Document_", 191814), true) 14753 14754 #line 4507 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14755 , Tuple.Create(Tuple.Create("", 191823), Tuple.Create<System.Object, System.Int32>(fieldValue 14756 14757 #line default 14758 #line hidden 14759 , 191823), false) 14760 ); 14761 14762 WriteLiteralTo(__razor_helper_writer, " type=\"checkbox\""); 14763 14764 WriteLiteralTo(__razor_helper_writer, " class=\"form__control u-no-margin js-checkbox dw-mod\""); 14765 14766 WriteLiteralTo(__razor_helper_writer, ">\r\n <label"); 14767 14768 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 191925), Tuple.Create("\"", 191951) 14769 , Tuple.Create(Tuple.Create("", 191931), Tuple.Create("Document_", 191931), true) 14770 14771 #line 4508 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14772 , Tuple.Create(Tuple.Create("", 191940), Tuple.Create<System.Object, System.Int32>(fieldValue 14773 14774 #line default 14775 #line hidden 14776 , 191940), false) 14777 ); 14778 14779 WriteLiteralTo(__razor_helper_writer, "></label>\r\n </div>\r\n <div"); 14780 14781 WriteLiteralTo(__razor_helper_writer, " class=\"panel-list__item-name\""); 14782 14783 WriteLiteralTo(__razor_helper_writer, ">\r\n <label"); 14784 14785 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 192042), Tuple.Create("\"", 192068) 14786 , Tuple.Create(Tuple.Create("", 192048), Tuple.Create("Document_", 192048), true) 14787 14788 #line 4511 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14789 , Tuple.Create(Tuple.Create("", 192057), Tuple.Create<System.Object, System.Int32>(fieldValue 14790 14791 #line default 14792 #line hidden 14793 , 192057), false) 14794 ); 14795 14796 WriteLiteralTo(__razor_helper_writer, " class=\"u-truncate-text u-no-margin u-max-w220px\""); 14797 14798 WriteAttributeTo(__razor_helper_writer, "title", Tuple.Create(" title=\"", 192118), Tuple.Create("\"", 192155) 14799 14800 #line 4511 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14801 , Tuple.Create(Tuple.Create("", 192126), Tuple.Create<System.Object, System.Int32>(Path.GetFileName(fieldValue) 14802 14803 #line default 14804 #line hidden 14805 , 192126), false) 14806 ); 14807 14808 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14809 14810 WriteLiteralTo(__razor_helper_writer, " "); 14811 14812 14813 #line 4512 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14814 WriteTo(__razor_helper_writer, Path.GetFileName(fieldValue)); 14815 14816 14817 #line default 14818 #line hidden 14819 WriteLiteralTo(__razor_helper_writer, "\r\n </label>\r\n </div>\r\n </li>\r\n"); 14820 14821 14822 #line 4516 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14823 14824 14825 #line default 14826 #line hidden 14827 }); 14828 14829 #line 4516 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14830 } 14831 #line default 14832 #line hidden 14833 14834 14835 #line 4525 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14836 14837 BlocksPage productGeneratePDFPage = BlocksPage.GetBlockPage("Product"); 14838 14839 #line default 14840 #line hidden 14841 14842 14843 #line 4553 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14844 public RazorEngine.Templating.TemplateWriter RenderGeneratePDF(string layout) 14845 { 14846 #line default 14847 #line hidden 14848 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 14849 14850 #line 4554 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14851 14852 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("GeneratePDFLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 14853 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 14854 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("GeneratePDFLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 14855 string exportPageId = GetPageIdByNavigationTag("ProductExportFeed").ToString(); 14856 int pdfFolderId = GetPageIdByNavigationTag("ProductPagePDFTemplates"); 14857 14858 Form form = new Form { Action = "/Default.aspx?MainProductID=" + System.Web.HttpContext.Current.Request.QueryString.Get("ProductID") + "&VariantID=" + System.Web.HttpContext.Current.Request.QueryString.Get("VariantID") + "&Pdf=true", Method = FormMethod.Post, CssClass = "u-no-margin" }; 14859 form.Add(new HiddenField { Name = "siteUrl", Value = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host")) }); 14860 14861 //Select languages 14862 SelectField languagesList = new SelectField 14863 { 14864 Id = "RequestLanguageID", 14865 Name = "RequestLanguageID", 14866 Label = Translate("Language"), 14867 CssClass = "u-full-width" 14868 }; 14869 14870 foreach (var lang in Dynamicweb.Content.Services.Languages.GetLanguages().OrderBy(l => l.Name)) 14871 { 14872 languagesList.Options.Add(new SelectFieldOption 14873 { 14874 Label = lang.Name, 14875 Value = lang.LanguageId, 14876 Checked = lang.IsDefault ? true : false 14877 }); 14878 } 14879 form.Add(languagesList); 14880 14881 //Select pages 14882 SelectField pagesList = new SelectField 14883 { 14884 Id = "PDFTemplate", 14885 Name = "ID", 14886 Label = Translate("Generate PDF"), 14887 CssClass = "u-full-width" 14888 }; 14889 14890 foreach (Dynamicweb.Content.Page page in ServiceLocator.Current.GetPageService().GetPagesByParentID(pdfFolderId)) 14891 { 14892 pagesList.Options.Add(new SelectFieldOption 14893 { 14894 Label = page.MenuText, 14895 Value = Converter.ToString(page.ID) 14896 }); 14897 } 14898 form.Add(pagesList); 14899 14900 form.Add(new Button { ButtonType = ButtonType.Submit, Title = Translate("Generate PDF"), CssClass = "btn--full u-no-margin" }); 14901 14902 14903 14904 #line default 14905 #line hidden 14906 WriteLiteralTo(__razor_helper_writer, " <div"); 14907 14908 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 196016), Tuple.Create("\"", 196067) 14909 , Tuple.Create(Tuple.Create("", 196024), Tuple.Create("product__section", 196024), true) 14910 14911 #line 4605 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14912 , Tuple.Create(Tuple.Create(" ", 196040), Tuple.Create<System.Object, System.Int32>(ribbonClasses 14913 14914 #line default 14915 #line hidden 14916 , 196041), false) 14917 , Tuple.Create(Tuple.Create(" ", 196055), Tuple.Create("grid", 196056), true) 14918 , Tuple.Create(Tuple.Create(" ", 196060), Tuple.Create("dw-mod", 196061), true) 14919 ); 14920 14921 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 14922 14923 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 196083), Tuple.Create("\"", 196130) 14924 , Tuple.Create(Tuple.Create("", 196091), Tuple.Create("dw-mod", 196091), true) 14925 , Tuple.Create(Tuple.Create(" ", 196097), Tuple.Create("grid__col-md-4", 196098), true) 14926 14927 #line 4606 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14928 , Tuple.Create(Tuple.Create(" ", 196112), Tuple.Create<System.Object, System.Int32>(ribbonSubClasses 14929 14930 #line default 14931 #line hidden 14932 , 196113), false) 14933 ); 14934 14935 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 14936 14937 14938 #line 4607 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14939 14940 14941 #line default 14942 #line hidden 14943 14944 #line 4607 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14945 if (layout == "Section") 14946 { 14947 14948 14949 #line default 14950 #line hidden 14951 14952 #line 4609 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14953 WriteTo(__razor_helper_writer, Render(new Heading { Title = Translate("Generate PDF"), Level = 2 })); 14954 14955 14956 #line default 14957 #line hidden 14958 14959 #line 4609 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14960 14961 } 14962 14963 14964 #line default 14965 #line hidden 14966 WriteLiteralTo(__razor_helper_writer, " "); 14967 14968 14969 #line 4611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14970 WriteTo(__razor_helper_writer, Render(form)); 14971 14972 14973 #line default 14974 #line hidden 14975 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </div>\r\n"); 14976 14977 14978 #line 4614 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14979 14980 14981 #line default 14982 #line hidden 14983 }); 14984 14985 #line 4614 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14986 } 14987 #line default 14988 #line hidden 14989 14990 14991 #line 4624 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 14992 14993 BlocksPage productDescriptionPage = BlocksPage.GetBlockPage("Product"); 14994 14995 #line default 14996 #line hidden 14997 14998 14999 #line 4651 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15000 public RazorEngine.Templating.TemplateWriter RenderProductDescription(string layout) 15001 { 15002 #line default 15003 #line hidden 15004 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 15005 15006 #line 4652 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15007 15008 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("FullDescriptionLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 15009 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 15010 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("FullDescriptionLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 15011 15012 15013 15014 #line default 15015 #line hidden 15016 WriteLiteralTo(__razor_helper_writer, " <div"); 15017 15018 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 198303), Tuple.Create("\"", 198349) 15019 , Tuple.Create(Tuple.Create("", 198311), Tuple.Create("product__section", 198311), true) 15020 15021 #line 4657 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15022 , Tuple.Create(Tuple.Create(" ", 198327), Tuple.Create<System.Object, System.Int32>(ribbonClasses 15023 15024 #line default 15025 #line hidden 15026 , 198328), false) 15027 , Tuple.Create(Tuple.Create(" ", 198342), Tuple.Create("dw-mod", 198343), true) 15028 ); 15029 15030 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 15031 15032 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 198365), Tuple.Create("\"", 198435) 15033 , Tuple.Create(Tuple.Create("", 198373), Tuple.Create("product__description", 198373), true) 15034 , Tuple.Create(Tuple.Create(" ", 198393), Tuple.Create("center-container", 198394), true) 15035 15036 #line 4658 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15037 , Tuple.Create(Tuple.Create(" ", 198410), Tuple.Create<System.Object, System.Int32>(ribbonSubClasses 15038 15039 #line default 15040 #line hidden 15041 , 198411), false) 15042 , Tuple.Create(Tuple.Create(" ", 198428), Tuple.Create("dw-mod", 198429), true) 15043 ); 15044 15045 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 15046 15047 15048 #line 4659 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15049 15050 15051 #line default 15052 #line hidden 15053 15054 #line 4659 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15055 if (layout == "Section") { 15056 15057 15058 #line default 15059 #line hidden 15060 15061 #line 4660 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15062 WriteTo(__razor_helper_writer, Render(new Heading { Title = Translate("Description"), Level = 2 })); 15063 15064 15065 #line default 15066 #line hidden 15067 15068 #line 4660 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15069 15070 } 15071 15072 15073 #line default 15074 #line hidden 15075 WriteLiteralTo(__razor_helper_writer, " "); 15076 15077 15078 #line 4662 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15079 WriteTo(__razor_helper_writer, Render(new Text { Content = GetString("Ecom:Product.LongDescription") })); 15080 15081 15082 #line default 15083 #line hidden 15084 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </div>\r\n"); 15085 15086 15087 #line 4665 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15088 15089 15090 #line default 15091 #line hidden 15092 }); 15093 15094 #line 4665 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15095 } 15096 #line default 15097 #line hidden 15098 15099 15100 #line 4674 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15101 15102 BlocksPage productFieldsPage = BlocksPage.GetBlockPage("Product"); 15103 15104 static string ConvertBytes(long bytes) 15105 { 15106 double size = bytes / 1024; //KB 15107 if (size > 1024) 15108 { 15109 size = (bytes / 1024f) / 1024f; //MB 15110 return string.Format("{0:n1} MB", size); 15111 } 15112 else 15113 { 15114 return string.Format("{0:n0} KB", size); 15115 } 15116 } 15117 15118 static bool isImage(string path) 15119 { 15120 return new List<string> { ".jpg", ".jpeg", ".gif", ".png", ".svg" }.Contains(Path.GetExtension(path).ToLower()); 15121 } 15122 15123 string getIconForFile(string fileName) 15124 { 15125 string ext = Path.GetExtension(fileName); 15126 string icon = ""; 15127 switch (ext.ToLower()) 15128 { 15129 case ".xls": 15130 case ".xlsx": 15131 icon = "fa-file-excel"; 15132 break; 15133 case ".ppt": 15134 case ".pptx": 15135 icon = "fa-file-powerpoint"; 15136 break; 15137 case ".doc": 15138 case ".docx": 15139 icon = "fa-file-word"; 15140 break; 15141 case ".jpg": 15142 case ".jpeg": 15143 case ".png": 15144 case ".gif": 15145 case ".pdf": 15146 return "<img class='product__document-img' alt='" + fileName + "' src='/Admin/Public/GetImage.ashx?crop=5&height=70&width=120&Compression=75&DoNotUpscale=true&image=" + fileName + "' />"; 15147 default: 15148 icon = "fa-file"; 15149 break; 15150 } 15151 return "<i class='product__document-icon far " + icon + "'></i> "; 15152 } 15153 15154 #line default 15155 #line hidden 15156 15157 15158 #line 4914 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15159 public RazorEngine.Templating.TemplateWriter RenderCustomFields(List<LoopItem> fieldsLoop, string viewType) 15160 { 15161 #line default 15162 #line hidden 15163 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 15164 15165 #line 4915 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15166 15167 bool collectAllDownloads = Pageview.AreaSettings.GetItem("ProductPage").GetString("CollectAllDownloads") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("CollectAllDownloads") : true; 15168 15169 foreach (LoopItem customField in fieldsLoop) 15170 { 15171 string fieldValue = customField.GetString("Product.CustomField.Value.Clean"); 15172 fieldValue = fieldValue == "False" ? Translate("No") : fieldValue; 15173 fieldValue = fieldValue == "True" ? Translate("Yes") : fieldValue; 15174 15175 if (customField.GetLoop("Product.CustomField.Options").Count > 0) 15176 { 15177 List<string> accumulatedValues = new List<string> (); 15178 15179 foreach (var option in customField.GetLoop("Product.CustomField.Options")) 15180 { 15181 if (option.GetBoolean("Product.CustomField.Option.IsSelected")) 15182 { 15183 accumulatedValues.Add(option.GetString("Product.CustomField.Option.Name")); 15184 } 15185 } 15186 fieldValue = string.Join(", ", accumulatedValues); 15187 } 15188 15189 if (!string.IsNullOrEmpty(customField.GetString("Product.CustomField.Name")) && !string.IsNullOrEmpty(fieldValue) && customField.GetString("Product.CustomField.Name") != "Custom sticker" && customField.GetString("Product.CustomField.Name") != "RRP") 15190 { 15191 if (string.IsNullOrEmpty(customField.GetString("Document.FullPath"))) 15192 { 15193 15194 15195 #line default 15196 #line hidden 15197 15198 #line 4942 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15199 WriteTo(__razor_helper_writer, RenderFieldItem(customField.GetString("Product.CustomField.Name"), fieldValue, viewType)); 15200 15201 15202 #line default 15203 #line hidden 15204 15205 #line 4942 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15206 ; 15207 } 15208 else if (collectAllDownloads == false) 15209 { 15210 15211 15212 #line default 15213 #line hidden 15214 15215 #line 4946 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15216 WriteTo(__razor_helper_writer, RenderFieldItem(customField.GetString("Product.CustomField.Name"), fieldValue, viewType, "download")); 15217 15218 15219 #line default 15220 #line hidden 15221 15222 #line 4946 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15223 ; 15224 } 15225 } 15226 } 15227 15228 15229 #line default 15230 #line hidden 15231 }); 15232 15233 #line 4950 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15234 } 15235 #line default 15236 #line hidden 15237 15238 15239 #line 4952 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15240 public RazorEngine.Templating.TemplateWriter RenderProductSection(string layout, string viewType, string name, RazorEngine.Templating.TemplateWriter writer) 15241 { 15242 #line default 15243 #line hidden 15244 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 15245 15246 #line 4953 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15247 15248 string ribbonClasses = layout == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : "u-no-padding"; 15249 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 15250 string ribbonSubClasses = layout == "Ribbon" ? "center-container--ribbon" : ""; 15251 15252 15253 15254 15255 #line default 15256 #line hidden 15257 WriteLiteralTo(__razor_helper_writer, " <div"); 15258 15259 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 213206), Tuple.Create("\"", 213252) 15260 , Tuple.Create(Tuple.Create("", 213214), Tuple.Create("product__section", 213214), true) 15261 15262 #line 4959 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15263 , Tuple.Create(Tuple.Create(" ", 213230), Tuple.Create<System.Object, System.Int32>(ribbonClasses 15264 15265 #line default 15266 #line hidden 15267 , 213231), false) 15268 , Tuple.Create(Tuple.Create(" ", 213245), Tuple.Create("dw-mod", 213246), true) 15269 ); 15270 15271 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 15272 15273 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 213268), Tuple.Create("\"", 213317) 15274 , Tuple.Create(Tuple.Create("", 213276), Tuple.Create("center-container", 213276), true) 15275 15276 #line 4960 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15277 , Tuple.Create(Tuple.Create(" ", 213292), Tuple.Create<System.Object, System.Int32>(ribbonSubClasses 15278 15279 #line default 15280 #line hidden 15281 , 213293), false) 15282 , Tuple.Create(Tuple.Create(" ", 213310), Tuple.Create("dw-mod", 213311), true) 15283 ); 15284 15285 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 15286 15287 15288 #line 4961 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15289 15290 15291 #line default 15292 #line hidden 15293 15294 #line 4961 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15295 if (layout == "Section") 15296 { 15297 15298 15299 #line default 15300 #line hidden 15301 15302 #line 4963 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15303 WriteTo(__razor_helper_writer, Render(new Heading { Title = name, Level = 2 })); 15304 15305 15306 #line default 15307 #line hidden 15308 15309 #line 4963 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15310 15311 } 15312 15313 15314 #line default 15315 #line hidden 15316 WriteLiteralTo(__razor_helper_writer, "\r\n"); 15317 15318 15319 #line 4966 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15320 15321 15322 #line default 15323 #line hidden 15324 15325 #line 4966 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15326 if (viewType != "table") 15327 { 15328 15329 15330 #line default 15331 #line hidden 15332 WriteLiteralTo(__razor_helper_writer, " <div"); 15333 15334 WriteLiteralTo(__razor_helper_writer, " class=\"grid grid--bleed u-margin-bottom--lg\""); 15335 15336 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 15337 15338 WriteLiteralTo(__razor_helper_writer, " "); 15339 15340 15341 #line 4969 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15342 WriteTo(__razor_helper_writer, writer); 15343 15344 15345 #line default 15346 #line hidden 15347 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 15348 15349 15350 #line 4971 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15351 } 15352 else 15353 { 15354 string tableWidth = layout != "MainInformation" ? "grid__col-md-6" : "grid__col-md-12"; 15355 15356 15357 15358 #line default 15359 #line hidden 15360 WriteLiteralTo(__razor_helper_writer, " <div"); 15361 15362 WriteLiteralTo(__razor_helper_writer, " class=\"grid grid--external-bleed-x u-margin-bottom--lg\""); 15363 15364 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 15365 15366 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 213891), Tuple.Create("\"", 213942) 15367 15368 #line 4977 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15369 , Tuple.Create(Tuple.Create("", 213899), Tuple.Create<System.Object, System.Int32>(tableWidth 15370 15371 #line default 15372 #line hidden 15373 , 213899), false) 15374 , Tuple.Create(Tuple.Create(" ", 213910), Tuple.Create("grid__col-sm-12", 213911), true) 15375 , Tuple.Create(Tuple.Create(" ", 213926), Tuple.Create("grid__col-xs-12", 213927), true) 15376 ); 15377 15378 WriteLiteralTo(__razor_helper_writer, ">\r\n <table"); 15379 15380 WriteLiteralTo(__razor_helper_writer, " class=\"table--responsive table--no-top-border\""); 15381 15382 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 15383 15384 WriteLiteralTo(__razor_helper_writer, " "); 15385 15386 15387 #line 4979 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15388 WriteTo(__razor_helper_writer, writer); 15389 15390 15391 #line default 15392 #line hidden 15393 WriteLiteralTo(__razor_helper_writer, "\r\n </table>\r\n </div>\r\n <" + 15394 "/div>\r\n"); 15395 15396 15397 #line 4983 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15398 } 15399 15400 15401 #line default 15402 #line hidden 15403 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </div>\r\n"); 15404 15405 15406 #line 4986 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15407 15408 15409 #line default 15410 #line hidden 15411 }); 15412 15413 #line 4986 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15414 } 15415 #line default 15416 #line hidden 15417 15418 15419 #line 4988 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15420 public RazorEngine.Templating.TemplateWriter RenderProductCategoryFields(List<LoopItem> fieldsLoop, string viewType) 15421 { 15422 #line default 15423 #line hidden 15424 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 15425 15426 #line 4989 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15427 15428 bool collectAllDownloads = Pageview.AreaSettings.GetItem("ProductPage").GetString("CollectAllDownloads") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("CollectAllDownloads") : true; 15429 15430 foreach (LoopItem categoryField in fieldsLoop) 15431 { 15432 string fieldValue = categoryField.GetString("Ecom:Product.CategoryField.Value"); 15433 fieldValue = fieldValue == "False" ? Translate("No") : fieldValue; 15434 fieldValue = fieldValue == "True" ? Translate("Yes") : fieldValue; 15435 15436 if (!string.IsNullOrEmpty(categoryField.GetString("Ecom:Product.CategoryField.Label")) && !string.IsNullOrEmpty(fieldValue)) 15437 { 15438 if (categoryField.GetString("Ecom:Product.CategoryField.TypeID") != "9" || collectAllDownloads == false) 15439 { 15440 if (categoryField.GetString("Ecom:Product.CategoryField.TypeID") == "15") 15441 { 15442 15443 15444 #line default 15445 #line hidden 15446 15447 #line 5004 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15448 WriteTo(__razor_helper_writer, RenderFieldItem(categoryField.GetString("Ecom:Product.CategoryField.Label"), categoryField.GetString("Ecom:Product.CategoryField.OptionLabel"), viewType)); 15449 15450 15451 #line default 15452 #line hidden 15453 15454 #line 5004 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15455 ; 15456 } 15457 else if (categoryField.GetString("Ecom:Product.CategoryField.TypeID") == "8") 15458 { 15459 15460 15461 #line default 15462 #line hidden 15463 15464 #line 5008 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15465 WriteTo(__razor_helper_writer, RenderFieldItem(categoryField.GetString("Ecom:Product.CategoryField.Label"), fieldValue, viewType, "link")); 15466 15467 15468 #line default 15469 #line hidden 15470 15471 #line 5008 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15472 ; 15473 } 15474 else if (categoryField.GetString("Ecom:Product.CategoryField.TypeID") == "9") 15475 { 15476 15477 15478 #line default 15479 #line hidden 15480 15481 #line 5012 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15482 WriteTo(__razor_helper_writer, RenderFieldItem(categoryField.GetString("Ecom:Product.CategoryField.Label"), fieldValue, viewType, "download")); 15483 15484 15485 #line default 15486 #line hidden 15487 15488 #line 5012 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15489 ; 15490 } 15491 else 15492 { 15493 15494 15495 #line default 15496 #line hidden 15497 15498 #line 5016 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15499 WriteTo(__razor_helper_writer, RenderFieldItem(categoryField.GetString("Ecom:Product.CategoryField.Label"), fieldValue, viewType)); 15500 15501 15502 #line default 15503 #line hidden 15504 15505 #line 5016 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15506 ; 15507 } 15508 } 15509 } 15510 } 15511 15512 15513 #line default 15514 #line hidden 15515 }); 15516 15517 #line 5021 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15518 } 15519 #line default 15520 #line hidden 15521 15522 15523 #line 5023 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15524 public RazorEngine.Templating.TemplateWriter RenderDetailsFields(IEnumerable<LoopItem> fields, string viewType) 15525 { 15526 #line default 15527 #line hidden 15528 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 15529 15530 #line 5024 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15531 15532 foreach (LoopItem field in fields) 15533 { 15534 string fieldValue = field.GetString("Ecom:FieldDisplayGroup.Field.Value"); 15535 fieldValue = fieldValue == "False" ? Translate("No") : fieldValue; 15536 fieldValue = fieldValue == "True" ? Translate("Yes") : fieldValue; 15537 15538 if (!string.IsNullOrEmpty(field.GetString("Ecom:FieldDisplayGroup.Field.Name")) && !string.IsNullOrEmpty(fieldValue)) 15539 { 15540 if (field.GetString("Ecom:FieldDisplayGroup.Field.TypeId") == "15") 15541 { 15542 15543 15544 #line default 15545 #line hidden 15546 15547 #line 5035 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15548 WriteTo(__razor_helper_writer, RenderFieldItem(field.GetString("Ecom:FieldDisplayGroup.Field.Name"), field.GetString("Ecom:FieldDisplayGroup.Field.OptionLabel"), viewType)); 15549 15550 15551 #line default 15552 #line hidden 15553 15554 #line 5035 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15555 ; 15556 } 15557 else if (field.GetString("Ecom:FieldDisplayGroup.Field.TypeId") == "8") 15558 { 15559 15560 15561 #line default 15562 #line hidden 15563 15564 #line 5039 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15565 WriteTo(__razor_helper_writer, RenderFieldItem(field.GetString("Ecom:Product.CategoryField.Label"), fieldValue, viewType, "link")); 15566 15567 15568 #line default 15569 #line hidden 15570 15571 #line 5039 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15572 ; 15573 } 15574 else if (field.GetString("Ecom:FieldDisplayGroup.Field.TypeId") == "9") 15575 { 15576 15577 15578 #line default 15579 #line hidden 15580 15581 #line 5043 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15582 WriteTo(__razor_helper_writer, RenderFieldItem(field.GetString("Ecom:FieldDisplayGroup.Field.Name"), fieldValue, viewType, "download")); 15583 15584 15585 #line default 15586 #line hidden 15587 15588 #line 5043 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15589 ; 15590 } 15591 else 15592 { 15593 15594 15595 #line default 15596 #line hidden 15597 15598 #line 5047 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15599 WriteTo(__razor_helper_writer, RenderFieldItem(field.GetString("Ecom:FieldDisplayGroup.Field.Name"), fieldValue, viewType)); 15600 15601 15602 #line default 15603 #line hidden 15604 15605 #line 5047 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15606 ; 15607 } 15608 } 15609 } 15610 15611 15612 #line default 15613 #line hidden 15614 }); 15615 15616 #line 5051 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15617 } 15618 #line default 15619 #line hidden 15620 15621 15622 #line 5053 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15623 public RazorEngine.Templating.TemplateWriter RenderProductDownloadsFields(List<LoopItem> fieldsLoop, string viewType) 15624 { 15625 #line default 15626 #line hidden 15627 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 15628 15629 #line 5054 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15630 15631 foreach (LoopItem document in fieldsLoop) 15632 { 15633 string fieldValue; 15634 if (!string.IsNullOrEmpty(document.GetString("Document.FullPath"))) 15635 { 15636 fieldValue = document.GetString("Product.CustomField.Value.Clean"); 15637 15638 15639 #line default 15640 #line hidden 15641 15642 #line 5061 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15643 WriteTo(__razor_helper_writer, RenderFieldItem(fieldValue, document.GetString("Document.FullPath"), viewType, "download")); 15644 15645 15646 #line default 15647 #line hidden 15648 15649 #line 5061 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15650 15651 } 15652 15653 if (document.GetString("Ecom:Product.CategoryField.TypeID") == "9") 15654 { 15655 fieldValue = document.GetString("Ecom:Product.CategoryField.Value"); 15656 15657 15658 #line default 15659 #line hidden 15660 15661 #line 5067 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15662 WriteTo(__razor_helper_writer, RenderFieldItem(fieldValue, fieldValue, viewType, "download")); 15663 15664 15665 #line default 15666 #line hidden 15667 15668 #line 5067 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15669 15670 } 15671 if (!string.IsNullOrEmpty(document.GetString("Ecom:Product:Detail.Image.Clean"))) 15672 { 15673 fieldValue = document.GetString("Ecom:Product:Detail.Image.Clean"); 15674 15675 15676 #line default 15677 #line hidden 15678 15679 #line 5072 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15680 WriteTo(__razor_helper_writer, RenderFieldItem("", fieldValue, viewType, "download")); 15681 15682 15683 #line default 15684 #line hidden 15685 15686 #line 5072 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15687 15688 } 15689 } 15690 15691 15692 #line default 15693 #line hidden 15694 }); 15695 15696 #line 5075 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15697 } 15698 #line default 15699 #line hidden 15700 15701 15702 #line 5077 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15703 public RazorEngine.Templating.TemplateWriter RenderFieldItem(string name, string value, string viewType, string fieldType = "clean") 15704 { 15705 #line default 15706 #line hidden 15707 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 15708 15709 #line 5078 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15710 15711 if (viewType != "table") 15712 { 15713 string fieldColumns = viewType == "list" ? "12" : "4"; 15714 15715 15716 #line default 15717 #line hidden 15718 WriteLiteralTo(__razor_helper_writer, " <div"); 15719 15720 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 218751), Tuple.Create("\"", 218817) 15721 , Tuple.Create(Tuple.Create("", 218759), Tuple.Create("grid__col-md-", 218759), true) 15722 15723 #line 5082 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15724 , Tuple.Create(Tuple.Create("", 218772), Tuple.Create<System.Object, System.Int32>(fieldColumns 15725 15726 #line default 15727 #line hidden 15728 , 218772), false) 15729 , Tuple.Create(Tuple.Create(" ", 218785), Tuple.Create("grid__col-sm-12", 218786), true) 15730 , Tuple.Create(Tuple.Create(" ", 218801), Tuple.Create("u-margin-bottom", 218802), true) 15731 ); 15732 15733 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 15734 15735 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold\""); 15736 15737 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 15738 15739 WriteLiteralTo(__razor_helper_writer, " "); 15740 15741 15742 #line 5084 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15743 WriteTo(__razor_helper_writer, name); 15744 15745 15746 #line default 15747 #line hidden 15748 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n <div>\r\n"); 15749 15750 WriteLiteralTo(__razor_helper_writer, " "); 15751 15752 15753 #line 5087 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15754 WriteTo(__razor_helper_writer, RenderFieldItemContent(name, value, fieldType)); 15755 15756 15757 #line default 15758 #line hidden 15759 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </div>\r\n"); 15760 15761 15762 #line 5090 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15763 } 15764 else 15765 { 15766 15767 15768 #line default 15769 #line hidden 15770 WriteLiteralTo(__razor_helper_writer, " <tr>\r\n <th"); 15771 15772 WriteLiteralTo(__razor_helper_writer, " class=\"u-min-w140px\""); 15773 15774 WriteLiteralTo(__razor_helper_writer, ">"); 15775 15776 15777 #line 5094 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15778 WriteTo(__razor_helper_writer, name); 15779 15780 15781 #line default 15782 #line hidden 15783 WriteLiteralTo(__razor_helper_writer, "</th>\r\n <td"); 15784 15785 WriteLiteralTo(__razor_helper_writer, " data-th=\""); 15786 15787 15788 #line 5095 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15789 WriteTo(__razor_helper_writer, name); 15790 15791 15792 #line default 15793 #line hidden 15794 WriteLiteralTo(__razor_helper_writer, "\""); 15795 15796 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 15797 15798 WriteLiteralTo(__razor_helper_writer, " "); 15799 15800 15801 #line 5096 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15802 WriteTo(__razor_helper_writer, RenderFieldItemContent(name, value, fieldType)); 15803 15804 15805 #line default 15806 #line hidden 15807 WriteLiteralTo(__razor_helper_writer, "\r\n </td>\r\n </tr>\r\n"); 15808 15809 15810 #line 5099 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15811 } 15812 15813 15814 #line default 15815 #line hidden 15816 }); 15817 15818 #line 5100 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15819 } 15820 #line default 15821 #line hidden 15822 15823 15824 #line 5102 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15825 public RazorEngine.Templating.TemplateWriter RenderFieldItemContent(string name, string value, string fieldType = "clean") 15826 { 15827 #line default 15828 #line hidden 15829 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 15830 15831 #line 5103 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15832 15833 if (fieldType == "link") 15834 { 15835 15836 15837 #line default 15838 #line hidden 15839 WriteLiteralTo(__razor_helper_writer, " <a"); 15840 15841 WriteLiteralTo(__razor_helper_writer, " target=\"_blank\""); 15842 15843 WriteLiteralTo(__razor_helper_writer, " rel=\"noopener\""); 15844 15845 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 219418), Tuple.Create("\"", 219431) 15846 15847 #line 5106 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15848 , Tuple.Create(Tuple.Create("", 219425), Tuple.Create<System.Object, System.Int32>(value 15849 15850 #line default 15851 #line hidden 15852 , 219425), false) 15853 ); 15854 15855 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 15856 15857 15858 #line 5107 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15859 15860 15861 #line default 15862 #line hidden 15863 15864 #line 5107 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15865 if (isImage(value)) 15866 { 15867 15868 15869 #line default 15870 #line hidden 15871 15872 #line 5109 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15873 WriteTo(__razor_helper_writer, getIconForFile(value)); 15874 15875 15876 #line default 15877 #line hidden 15878 15879 #line 5109 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15880 15881 } 15882 else 15883 { 15884 15885 15886 #line default 15887 #line hidden 15888 15889 #line 5113 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15890 WriteTo(__razor_helper_writer, value); 15891 15892 15893 #line default 15894 #line hidden 15895 15896 #line 5113 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15897 15898 } 15899 15900 15901 #line default 15902 #line hidden 15903 WriteLiteralTo(__razor_helper_writer, " </a>\r\n"); 15904 15905 15906 #line 5116 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15907 } 15908 else if (fieldType == "download") 15909 { 15910 FileInfo info = new FileInfo(Dynamicweb.Core.SystemInformation.MapPath(value)); 15911 15912 if (info.Exists) 15913 { 15914 15915 15916 #line default 15917 #line hidden 15918 WriteLiteralTo(__razor_helper_writer, " <div"); 15919 15920 WriteLiteralTo(__razor_helper_writer, " class=\"grid grid--no-wrap\""); 15921 15922 WriteLiteralTo(__razor_helper_writer, ">\r\n <a"); 15923 15924 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 219870), Tuple.Create("\"", 219883) 15925 15926 #line 5124 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15927 , Tuple.Create(Tuple.Create("", 219877), Tuple.Create<System.Object, System.Int32>(value 15928 15929 #line default 15930 #line hidden 15931 , 219877), false) 15932 ); 15933 15934 WriteLiteralTo(__razor_helper_writer, " download"); 15935 15936 WriteAttributeTo(__razor_helper_writer, "title", Tuple.Create(" title=\"", 219893), Tuple.Create("\"", 219923) 15937 15938 #line 5124 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15939 , Tuple.Create(Tuple.Create("", 219901), Tuple.Create<System.Object, System.Int32>(Translate("Download") 15940 15941 #line default 15942 #line hidden 15943 , 219901), false) 15944 ); 15945 15946 WriteLiteralTo(__razor_helper_writer, " class=\"product__document dw-mod\""); 15947 15948 WriteLiteralTo(__razor_helper_writer, ">"); 15949 15950 15951 #line 5124 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15952 WriteTo(__razor_helper_writer, getIconForFile(value)); 15953 15954 15955 #line default 15956 #line hidden 15957 WriteLiteralTo(__razor_helper_writer, "</a>\r\n <div"); 15958 15959 WriteLiteralTo(__razor_helper_writer, " class=\"product__document-info dw-mod\""); 15960 15961 WriteLiteralTo(__razor_helper_writer, ">\r\n <a"); 15962 15963 WriteAttributeTo(__razor_helper_writer, "href", Tuple.Create(" href=\"", 220069), Tuple.Create("\"", 220082) 15964 15965 #line 5126 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15966 , Tuple.Create(Tuple.Create("", 220076), Tuple.Create<System.Object, System.Int32>(value 15967 15968 #line default 15969 #line hidden 15970 , 220076), false) 15971 ); 15972 15973 WriteLiteralTo(__razor_helper_writer, " download"); 15974 15975 WriteAttributeTo(__razor_helper_writer, "title", Tuple.Create(" title=\"", 220092), Tuple.Create("\"", 220122) 15976 15977 #line 5126 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15978 , Tuple.Create(Tuple.Create("", 220100), Tuple.Create<System.Object, System.Int32>(Translate("Download") 15979 15980 #line default 15981 #line hidden 15982 , 220100), false) 15983 ); 15984 15985 WriteLiteralTo(__razor_helper_writer, " class=\"product__document dw-mod\""); 15986 15987 WriteLiteralTo(__razor_helper_writer, ">"); 15988 15989 15990 #line 5126 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 15991 WriteTo(__razor_helper_writer, Path.GetFileName(value)); 15992 15993 15994 #line default 15995 #line hidden 15996 WriteLiteralTo(__razor_helper_writer, "</a>\r\n <small"); 15997 15998 WriteLiteralTo(__razor_helper_writer, " class=\"u-block u-margin-top\""); 15999 16000 WriteLiteralTo(__razor_helper_writer, ">"); 16001 16002 16003 #line 5127 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16004 WriteTo(__razor_helper_writer, ConvertBytes(info.Length)); 16005 16006 16007 #line default 16008 #line hidden 16009 WriteLiteralTo(__razor_helper_writer, "</small>\r\n </div>\r\n </div>\r\n"); 16010 16011 16012 #line 5130 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16013 } 16014 } 16015 else 16016 { 16017 16018 16019 #line default 16020 #line hidden 16021 16022 #line 5134 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16023 WriteTo(__razor_helper_writer, value); 16024 16025 16026 #line default 16027 #line hidden 16028 16029 #line 5134 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16030 16031 } 16032 16033 16034 #line default 16035 #line hidden 16036 }); 16037 16038 #line 5136 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16039 } 16040 #line default 16041 #line hidden 16042 16043 16044 #line 5147 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16045 16046 BlocksPage productVideoPage = BlocksPage.GetBlockPage("Product"); 16047 16048 #line default 16049 #line hidden 16050 16051 16052 #line 5200 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16053 public RazorEngine.Templating.TemplateWriter RenderProductVideos(int videosCount, string layout) { 16054 #line default 16055 #line hidden 16056 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 16057 16058 #line 5200 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16059 16060 var selectedVideoCategories = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideoAssets").SelectedValues; 16061 var videosFromAssets = GetLoop("ImageCategories").Where(x => selectedVideoCategories.Contains(x.GetString("Category.Id"))); 16062 16063 string videoColumn = "12"; 16064 videoColumn = videosCount == 2 ? "6" : videoColumn; 16065 videoColumn = videosCount > 2 ? "4" : videoColumn; 16066 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideosLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 16067 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 16068 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideosLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 16069 16070 16071 16072 #line default 16073 #line hidden 16074 WriteLiteralTo(__razor_helper_writer, " <div"); 16075 16076 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 223719), Tuple.Create("\"", 223765) 16077 , Tuple.Create(Tuple.Create("", 223727), Tuple.Create("product__section", 223727), true) 16078 16079 #line 5211 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16080 , Tuple.Create(Tuple.Create(" ", 223743), Tuple.Create<System.Object, System.Int32>(ribbonClasses 16081 16082 #line default 16083 #line hidden 16084 , 223744), false) 16085 , Tuple.Create(Tuple.Create(" ", 223758), Tuple.Create("dw-mod", 223759), true) 16086 ); 16087 16088 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 16089 16090 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 223781), Tuple.Create("\"", 223830) 16091 , Tuple.Create(Tuple.Create("", 223789), Tuple.Create("center-container", 223789), true) 16092 16093 #line 5212 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16094 , Tuple.Create(Tuple.Create(" ", 223805), Tuple.Create<System.Object, System.Int32>(ribbonSubClasses 16095 16096 #line default 16097 #line hidden 16098 , 223806), false) 16099 , Tuple.Create(Tuple.Create(" ", 223823), Tuple.Create("dw-mod", 223824), true) 16100 ); 16101 16102 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 16103 16104 16105 #line 5213 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16106 16107 16108 #line default 16109 #line hidden 16110 16111 #line 5213 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16112 if (layout == "Section") { 16113 16114 16115 #line default 16116 #line hidden 16117 16118 #line 5214 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16119 WriteTo(__razor_helper_writer, Render(new Heading { Title = Translate("Videos"), Level = 2 })); 16120 16121 16122 #line default 16123 #line hidden 16124 16125 #line 5214 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16126 16127 } 16128 16129 16130 #line default 16131 #line hidden 16132 WriteLiteralTo(__razor_helper_writer, "\r\n <div"); 16133 16134 WriteLiteralTo(__razor_helper_writer, " class=\"grid u-margin-bottom--lg\""); 16135 16136 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 16137 16138 16139 #line 5218 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16140 16141 16142 #line default 16143 #line hidden 16144 16145 #line 5218 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16146 if (videosFromAssets != null) { 16147 foreach (LoopItem category in videosFromAssets) { 16148 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 16149 //getting video ID from youtube URL 16150 string videoCode = asset.GetString("Ecom:Product:Detail.Image.Clean"); 16151 Regex regex = new Regex(@".be\/(.[^?]*)"); 16152 Match match = regex.Match(videoCode); 16153 string videoId = ""; 16154 if (match.Success) 16155 { 16156 videoId = match.Groups[1].Value; 16157 } 16158 else 16159 { 16160 regex = new Regex(@"v=([^&]+)"); 16161 match = regex.Match(videoCode); 16162 if (match.Success) 16163 { 16164 videoId = match.Groups[1].Value; 16165 } 16166 } 16167 16168 16169 16170 #line default 16171 #line hidden 16172 WriteLiteralTo(__razor_helper_writer, " <div"); 16173 16174 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 225219), Tuple.Create("\"", 225278) 16175 , Tuple.Create(Tuple.Create("", 225227), Tuple.Create("grid__col-md-", 225227), true) 16176 16177 #line 5240 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16178 , Tuple.Create(Tuple.Create("", 225240), Tuple.Create<System.Object, System.Int32>(videoColumn 16179 16180 #line default 16181 #line hidden 16182 , 225240), false) 16183 , Tuple.Create(Tuple.Create(" ", 225252), Tuple.Create("grid__col-lg-", 225253), true) 16184 16185 #line 5240 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16186 , Tuple.Create(Tuple.Create("", 225266), Tuple.Create<System.Object, System.Int32>(videoColumn 16187 16188 #line default 16189 #line hidden 16190 , 225266), false) 16191 ); 16192 16193 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 16194 16195 WriteLiteralTo(__razor_helper_writer, " class=\"video-wrapper\""); 16196 16197 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 16198 16199 WriteLiteralTo(__razor_helper_writer, " class=\"js-youtube-video\""); 16200 16201 WriteLiteralTo(__razor_helper_writer, " data-video=\""); 16202 16203 16204 #line 5242 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16205 WriteTo(__razor_helper_writer, videoId); 16206 16207 16208 #line default 16209 #line hidden 16210 WriteLiteralTo(__razor_helper_writer, "\""); 16211 16212 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 225430), Tuple.Create("\"", 225474) 16213 , Tuple.Create(Tuple.Create("", 225435), Tuple.Create("ytPlayer", 225435), true) 16214 16215 #line 5242 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16216 , Tuple.Create(Tuple.Create("", 225443), Tuple.Create<System.Object, System.Int32>(Guid.NewGuid().ToString("N") 16217 16218 #line default 16219 #line hidden 16220 , 225443), false) 16221 ); 16222 16223 WriteLiteralTo(__razor_helper_writer, " data-auto-play=\"False\""); 16224 16225 WriteLiteralTo(__razor_helper_writer, " data-enable-controls=\"1\""); 16226 16227 WriteLiteralTo(__razor_helper_writer, "></div>\r\n </div>\r\n </di" + 16228 "v>\r\n"); 16229 16230 16231 #line 5245 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16232 } 16233 } 16234 } else { 16235 foreach (LoopItem detailField in GetLoop("Details")) 16236 { 16237 if (detailField.GetString("Ecom:Product:Detail.Text").IndexOf("iframe") != -1 && detailField.GetString("Ecom:Product:Detail.Text").IndexOf("youtube.com/embed") != -1 || detailField.GetString("Ecom:Product:Detail.Text").IndexOf("iframe") != -1 && detailField.GetString("Ecom:Product:Detail.Text").IndexOf("vimeo.com") != -1) 16238 { 16239 16240 16241 #line default 16242 #line hidden 16243 WriteLiteralTo(__razor_helper_writer, " <div"); 16244 16245 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 226190), Tuple.Create("\"", 226249) 16246 , Tuple.Create(Tuple.Create("", 226198), Tuple.Create("grid__col-md-", 226198), true) 16247 16248 #line 5252 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16249 , Tuple.Create(Tuple.Create("", 226211), Tuple.Create<System.Object, System.Int32>(videoColumn 16250 16251 #line default 16252 #line hidden 16253 , 226211), false) 16254 , Tuple.Create(Tuple.Create(" ", 226223), Tuple.Create("grid__col-lg-", 226224), true) 16255 16256 #line 5252 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16257 , Tuple.Create(Tuple.Create("", 226237), Tuple.Create<System.Object, System.Int32>(videoColumn 16258 16259 #line default 16260 #line hidden 16261 , 226237), false) 16262 ); 16263 16264 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 16265 16266 WriteLiteralTo(__razor_helper_writer, " class=\"video-wrapper\""); 16267 16268 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 16269 16270 WriteLiteralTo(__razor_helper_writer, " "); 16271 16272 16273 #line 5254 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16274 WriteTo(__razor_helper_writer, detailField.GetString("Ecom:Product:Detail.Text")); 16275 16276 16277 #line default 16278 #line hidden 16279 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </div>\r\n"); 16280 16281 16282 #line 5257 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16283 } 16284 } 16285 } 16286 16287 16288 #line default 16289 #line hidden 16290 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </div>\r\n </div>\r\n"); 16291 16292 16293 #line 5263 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16294 16295 16296 #line default 16297 #line hidden 16298 }); 16299 16300 #line 5263 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16301 } 16302 #line default 16303 #line hidden 16304 16305 16306 #line 5274 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16307 16308 BlocksPage productRelatedPage = BlocksPage.GetBlockPage("Product"); 16309 16310 #line default 16311 #line hidden 16312 16313 16314 #line 5340 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16315 public RazorEngine.Templating.TemplateWriter RenderRelatedProducts(string name, string groupId, string relatedFeedUrl, string layout) 16316 { 16317 #line default 16318 #line hidden 16319 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 16320 16321 #line 5341 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16322 16323 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("RelatedProductsLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 16324 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 16325 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("RelatedProductsLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 16326 16327 16328 16329 #line default 16330 #line hidden 16331 WriteLiteralTo(__razor_helper_writer, " <div"); 16332 16333 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 231707), Tuple.Create("\"", 231753) 16334 , Tuple.Create(Tuple.Create("", 231715), Tuple.Create("product__section", 231715), true) 16335 16336 #line 5346 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16337 , Tuple.Create(Tuple.Create(" ", 231731), Tuple.Create<System.Object, System.Int32>(ribbonClasses 16338 16339 #line default 16340 #line hidden 16341 , 231732), false) 16342 , Tuple.Create(Tuple.Create(" ", 231746), Tuple.Create("dw-mod", 231747), true) 16343 ); 16344 16345 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 16346 16347 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 231769), Tuple.Create("\"", 231818) 16348 , Tuple.Create(Tuple.Create("", 231777), Tuple.Create("center-container", 231777), true) 16349 16350 #line 5347 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16351 , Tuple.Create(Tuple.Create(" ", 231793), Tuple.Create<System.Object, System.Int32>(ribbonSubClasses 16352 16353 #line default 16354 #line hidden 16355 , 231794), false) 16356 , Tuple.Create(Tuple.Create(" ", 231811), Tuple.Create("dw-mod", 231812), true) 16357 ); 16358 16359 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 16360 16361 16362 #line 5348 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16363 16364 16365 #line default 16366 #line hidden 16367 16368 #line 5348 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16369 if (layout == "Section") { 16370 16371 16372 #line default 16373 #line hidden 16374 16375 #line 5349 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16376 WriteTo(__razor_helper_writer, Render(new Heading { Title = name, Level = 2 })); 16377 16378 16379 #line default 16380 #line hidden 16381 16382 #line 5349 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16383 16384 } 16385 16386 16387 #line default 16388 #line hidden 16389 WriteLiteralTo(__razor_helper_writer, " <div"); 16390 16391 WriteLiteralTo(__razor_helper_writer, " class=\"js-handlebars-root\""); 16392 16393 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 231986), Tuple.Create("\"", 232011) 16394 , Tuple.Create(Tuple.Create("", 231991), Tuple.Create("ProductList_", 231991), true) 16395 16396 #line 5351 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16397 , Tuple.Create(Tuple.Create("", 232003), Tuple.Create<System.Object, System.Int32>(groupId 16398 16399 #line default 16400 #line hidden 16401 , 232003), false) 16402 ); 16403 16404 WriteLiteralTo(__razor_helper_writer, " data-template=\"ProductContainer\""); 16405 16406 WriteLiteralTo(__razor_helper_writer, " data-pre-render-template=\"ProductPreRenderContainer\""); 16407 16408 WriteLiteralTo(__razor_helper_writer, " data-json-feed=\""); 16409 16410 16411 #line 5351 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16412 WriteTo(__razor_helper_writer, relatedFeedUrl); 16413 16414 16415 #line default 16416 #line hidden 16417 WriteLiteralTo(__razor_helper_writer, "\""); 16418 16419 WriteLiteralTo(__razor_helper_writer, " data-preloader=\"minimal\""); 16420 16421 WriteLiteralTo(__razor_helper_writer, "></div>\r\n </div>\r\n </div>\r\n"); 16422 16423 16424 #line 5354 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16425 16426 16427 #line default 16428 #line hidden 16429 }); 16430 16431 #line 5354 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16432 } 16433 #line default 16434 #line hidden 16435 16436 16437 #line 5367 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16438 public RazorEngine.Templating.TemplateWriter RenderGridViewPriceInfo() 16439 { 16440 #line default 16441 #line hidden 16442 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 16443 16444 #line 5368 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16445 16446 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 16447 bool showPrice = !Pageview.AreaSettings.GetItem("ProductList").GetBoolean("HidePrice"); 16448 bool showCartButton = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowAddToCartButton"); 16449 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductList").GetBoolean("ShowBothPricesWithWithoutVAT"); 16450 bool isPricesWithVATEnabled = Dynamicweb.Ecommerce.Common.Context.DisplayPricesWithVat; 16451 16452 if (showPrice && Dynamicweb.Rapido.Services.User.IsPricesAllowed()) 16453 { 16454 if (pointShopOnly) 16455 { 16456 16457 16458 #line default 16459 #line hidden 16460 WriteLiteralTo(__razor_helper_writer, " "); 16461 16462 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if havePointPrice}}\r\n <div"); 16463 16464 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-list dw-mod\""); 16465 16466 WriteLiteralTo(__razor_helper_writer, ">{{points}} "); 16467 16468 16469 #line 5381 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16470 WriteTo(__razor_helper_writer, Translate("points")); 16471 16472 16473 #line default 16474 #line hidden 16475 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 16476 16477 16478 #line 5382 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16479 16480 16481 #line default 16482 #line hidden 16483 16484 #line 5382 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16485 if (showCartButton) 16486 { 16487 16488 16489 #line default 16490 #line hidden 16491 WriteLiteralTo(__razor_helper_writer, " "); 16492 16493 WriteLiteralTo(__razor_helper_writer, "\r\n {{#unless canBePurchasedWithPoints}}\r\n " + 16494 " <small"); 16495 16496 WriteLiteralTo(__razor_helper_writer, " class=\"help-text u-no-margin\""); 16497 16498 WriteLiteralTo(__razor_helper_writer, ">"); 16499 16500 16501 #line 5386 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16502 WriteTo(__razor_helper_writer, Translate("Not enough points to buy this")); 16503 16504 16505 #line default 16506 #line hidden 16507 WriteLiteralTo(__razor_helper_writer, "</small>\r\n {{/unless}}\r\n "); 16508 16509 WriteLiteralTo(__razor_helper_writer, "\r\n"); 16510 16511 16512 #line 5389 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16513 } 16514 16515 16516 #line default 16517 #line hidden 16518 WriteLiteralTo(__razor_helper_writer, " {{else}}\r\n"); 16519 16520 WriteLiteralTo(__razor_helper_writer, " "); 16521 16522 16523 #line 5391 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16524 WriteTo(__razor_helper_writer, Translate("Not available")); 16525 16526 16527 #line default 16528 #line hidden 16529 WriteLiteralTo(__razor_helper_writer, "\r\n {{/if}}\r\n "); 16530 16531 WriteLiteralTo(__razor_helper_writer, "\r\n"); 16532 16533 16534 #line 5394 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16535 } 16536 else 16537 { 16538 16539 16540 #line default 16541 #line hidden 16542 WriteLiteralTo(__razor_helper_writer, " <div"); 16543 16544 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-list dw-mod\""); 16545 16546 WriteLiteralTo(__razor_helper_writer, ">{{price}}</div>\r\n"); 16547 16548 WriteLiteralTo(__razor_helper_writer, " <div"); 16549 16550 WriteLiteralTo(__razor_helper_writer, " class=\"before-price {{onSale}} dw-mod\""); 16551 16552 WriteLiteralTo(__razor_helper_writer, ">{{discount}}</div>\r\n"); 16553 16554 16555 #line 5399 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16556 if (showVATPrice) 16557 { 16558 16559 16560 #line default 16561 #line hidden 16562 WriteLiteralTo(__razor_helper_writer, " <div"); 16563 16564 WriteLiteralTo(__razor_helper_writer, " class=\"vat-price vat-price--product-list u-margin-top dw-mod\""); 16565 16566 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 16567 16568 16569 #line 5402 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16570 16571 16572 #line default 16573 #line hidden 16574 16575 #line 5402 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16576 if (isPricesWithVATEnabled) 16577 { 16578 16579 16580 #line default 16581 #line hidden 16582 WriteLiteralTo(__razor_helper_writer, " <span>"); 16583 16584 16585 #line 5404 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16586 WriteTo(__razor_helper_writer, Translate("excl. VAT")); 16587 16588 16589 #line default 16590 #line hidden 16591 WriteLiteralTo(__razor_helper_writer, "</span>"); 16592 16593 WriteLiteralTo(__razor_helper_writer, "<span> ({{priceWithoutVAT}})</span>\r\n"); 16594 16595 16596 #line 5405 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16597 } 16598 else 16599 { 16600 16601 16602 #line default 16603 #line hidden 16604 WriteLiteralTo(__razor_helper_writer, " <span>"); 16605 16606 16607 #line 5408 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16608 WriteTo(__razor_helper_writer, Translate("incl. VAT")); 16609 16610 16611 #line default 16612 #line hidden 16613 WriteLiteralTo(__razor_helper_writer, "</span>"); 16614 16615 WriteLiteralTo(__razor_helper_writer, "<span> ({{priceWithVAT}})</span>\r\n"); 16616 16617 16618 #line 5409 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16619 } 16620 16621 16622 #line default 16623 #line hidden 16624 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 16625 16626 16627 #line 5411 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16628 } 16629 16630 16631 #line default 16632 #line hidden 16633 WriteLiteralTo(__razor_helper_writer, " "); 16634 16635 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if priceRRP}}\r\n <div><small>"); 16636 16637 16638 #line 5414 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16639 WriteTo(__razor_helper_writer, Translate("RRP")); 16640 16641 16642 #line default 16643 #line hidden 16644 WriteLiteralTo(__razor_helper_writer, " {{priceRRP}}</small></div>\r\n {{/if}}\r\n "); 16645 16646 WriteLiteralTo(__razor_helper_writer, "\r\n"); 16647 16648 16649 #line 5417 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16650 } 16651 } 16652 16653 16654 #line default 16655 #line hidden 16656 }); 16657 16658 #line 5419 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16659 } 16660 #line default 16661 #line hidden 16662 16663 16664 #line 5421 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16665 public RazorEngine.Templating.TemplateWriter RenderProductGridItemAddToCart() { 16666 #line default 16667 #line hidden 16668 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 16669 16670 #line 5421 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16671 16672 var gridViewSettings = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView"); 16673 var ecommerceSettings = Pageview.AreaSettings.GetItem("Ecommerce"); 16674 16675 bool pointShopOnly = ecommerceSettings.GetBoolean("PointShopOnly"); 16676 bool showCartButton = gridViewSettings.GetBoolean("ShowAddToCartButton"); 16677 bool showViewButton = gridViewSettings.GetBoolean("ShowViewButton"); 16678 string viewMoreText = gridViewSettings.GetString("ViewMoreText"); 16679 viewMoreText = !string.IsNullOrEmpty(viewMoreText) ? viewMoreText : "View"; 16680 string wrapperClass = "buttons-collection--center"; 16681 int columnsCount = gridViewSettings.GetList("Columns") != null ? Converter.ToInt32(gridViewSettings.GetList("Columns").SelectedValue) : 4; 16682 bool hideButtonText = columnsCount >= 4 || Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet"; 16683 16684 if (pointShopOnly && columnsCount <= 4) 16685 { 16686 hideButtonText = false; 16687 } 16688 16689 var viewBtn = new Link 16690 { 16691 Href = "{{link}}", 16692 Id = "CartButton_{{id}}", 16693 Title = Translate(viewMoreText), 16694 OnClick = "{{#if googleImpression}}googleEnchantImpressionClick({{googleImpression}}, event){{/if}}", 16695 ButtonLayout = ButtonLayout.Secondary, 16696 CssClass = "u-no-margin" 16697 }; 16698 16699 if (Dynamicweb.Rapido.Services.User.IsBuyingAllowed()) 16700 { 16701 var addToCartBtn = new AddToCart 16702 { 16703 WrapperCssClass = wrapperClass, 16704 AddButton = new AddToCartButton 16705 { 16706 ProductId = "{{productId}}", 16707 VariantId = "{{variantid}}", 16708 UnitId = "{{unitId}}", 16709 ProductInfo = "{{productInfo}}", 16710 BuyForPoints = pointShopOnly, 16711 HideTitle = hideButtonText, 16712 OnClick = "{{facebookPixelAction}}", 16713 ExtraAttributes = new Dictionary<string, string> 16714 { 16715 { "{{disabledBuyButton}}", "" } 16716 } 16717 } 16718 }; 16719 16720 if (!pointShopOnly) 16721 { 16722 addToCartBtn.QuantitySelector = new QuantitySelector 16723 { 16724 Id = "Quantity{{id}}" 16725 }; 16726 } 16727 16728 if (showCartButton && Dynamicweb.Rapido.Services.User.IsBuyingAllowed()) 16729 { 16730 if (!showViewButton) 16731 { 16732 16733 16734 #line default 16735 #line hidden 16736 16737 #line 5482 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16738 WriteTo(__razor_helper_writer, Render(addToCartBtn)); 16739 16740 16741 #line default 16742 #line hidden 16743 16744 #line 5482 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16745 16746 } 16747 else 16748 { 16749 16750 16751 #line default 16752 #line hidden 16753 WriteLiteralTo(__razor_helper_writer, " "); 16754 16755 WriteLiteralTo(__razor_helper_writer, "{{#if hideAddToCartButton}}"); 16756 16757 WriteLiteralTo(__razor_helper_writer, "\r\n"); 16758 16759 WriteLiteralTo(__razor_helper_writer, " <div>"); 16760 16761 16762 #line 5487 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16763 WriteTo(__razor_helper_writer, Render(viewBtn)); 16764 16765 16766 #line default 16767 #line hidden 16768 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 16769 16770 WriteLiteralTo(__razor_helper_writer, " "); 16771 16772 WriteLiteralTo(__razor_helper_writer, "{{else}}"); 16773 16774 WriteLiteralTo(__razor_helper_writer, "\r\n"); 16775 16776 16777 #line 5489 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16778 16779 16780 #line default 16781 #line hidden 16782 16783 #line 5489 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16784 WriteTo(__razor_helper_writer, Render(addToCartBtn)); 16785 16786 16787 #line default 16788 #line hidden 16789 16790 #line 5489 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16791 16792 16793 16794 #line default 16795 #line hidden 16796 WriteLiteralTo(__razor_helper_writer, " "); 16797 16798 WriteLiteralTo(__razor_helper_writer, "{{/if}}"); 16799 16800 WriteLiteralTo(__razor_helper_writer, "\r\n"); 16801 16802 16803 #line 5491 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16804 } 16805 } 16806 else if (showViewButton) 16807 { 16808 16809 16810 #line default 16811 #line hidden 16812 WriteLiteralTo(__razor_helper_writer, " <div>"); 16813 16814 16815 #line 5495 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16816 WriteTo(__razor_helper_writer, Render(viewBtn)); 16817 16818 16819 #line default 16820 #line hidden 16821 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 16822 16823 16824 #line 5496 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16825 } 16826 } 16827 else if (showViewButton) 16828 { 16829 16830 16831 #line default 16832 #line hidden 16833 WriteLiteralTo(__razor_helper_writer, " <div>"); 16834 16835 16836 #line 5500 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16837 WriteTo(__razor_helper_writer, Render(viewBtn)); 16838 16839 16840 #line default 16841 #line hidden 16842 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 16843 16844 16845 #line 5501 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16846 } 16847 16848 16849 #line default 16850 #line hidden 16851 }); 16852 16853 #line 5502 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16854 } 16855 #line default 16856 #line hidden 16857 16858 16859 #line 5640 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16860 16861 BlocksPage productVariantsListPage = BlocksPage.GetBlockPage("Product"); 16862 Dictionary<string, object> variantListSettings = new Dictionary<string, object> { 16863 { "RenderVariantsAsProducts", false }, 16864 { "RenderVariantGroupsInTable", false }, 16865 { "HideImage", false }, 16866 { "HideProductNumbers", false } 16867 }; 16868 16869 #line default 16870 #line hidden 16871 16872 16873 #line 5708 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16874 public RazorEngine.Templating.TemplateWriter RenderVariantsProductList(string layout) 16875 { 16876 #line default 16877 #line hidden 16878 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 16879 16880 #line 5709 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16881 16882 string variantsListPageSize = HttpContext.Current.Request.QueryString.Get("PageSize") ?? "30"; 16883 string variantsFeedUrl = "/Default.aspx?ID=" + GetPageIdByNavigationTag("ProductsPage") + "&PageSize=" + variantsListPageSize + "&MainProductID=" + GetString("Ecom:Product.ID") + "&OnlyShowVariants=true&feed=true"; 16884 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 16885 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 16886 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 16887 16888 16889 16890 #line default 16891 #line hidden 16892 WriteLiteralTo(__razor_helper_writer, " <div"); 16893 16894 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 250595), Tuple.Create("\"", 250641) 16895 , Tuple.Create(Tuple.Create("", 250603), Tuple.Create("product__section", 250603), true) 16896 16897 #line 5716 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16898 , Tuple.Create(Tuple.Create(" ", 250619), Tuple.Create<System.Object, System.Int32>(ribbonClasses 16899 16900 #line default 16901 #line hidden 16902 , 250620), false) 16903 , Tuple.Create(Tuple.Create(" ", 250634), Tuple.Create("dw-mod", 250635), true) 16904 ); 16905 16906 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 16907 16908 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 250657), Tuple.Create("\"", 250706) 16909 , Tuple.Create(Tuple.Create("", 250665), Tuple.Create("center-container", 250665), true) 16910 16911 #line 5717 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16912 , Tuple.Create(Tuple.Create(" ", 250681), Tuple.Create<System.Object, System.Int32>(ribbonSubClasses 16913 16914 #line default 16915 #line hidden 16916 , 250682), false) 16917 , Tuple.Create(Tuple.Create(" ", 250699), Tuple.Create("dw-mod", 250700), true) 16918 ); 16919 16920 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 16921 16922 16923 #line 5718 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16924 16925 16926 #line default 16927 #line hidden 16928 16929 #line 5718 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16930 if (layout == "Section") 16931 { 16932 16933 16934 #line default 16935 #line hidden 16936 16937 #line 5720 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16938 WriteTo(__razor_helper_writer, Render(new Heading { Title = Translate("Variants"), Level = 2 })); 16939 16940 16941 #line default 16942 #line hidden 16943 16944 #line 5720 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16945 16946 } 16947 16948 16949 #line default 16950 #line hidden 16951 WriteLiteralTo(__razor_helper_writer, " <div"); 16952 16953 WriteLiteralTo(__razor_helper_writer, " class=\"js-handlebars-root\""); 16954 16955 WriteLiteralTo(__razor_helper_writer, " id=\"VariantsListRoot\""); 16956 16957 WriteLiteralTo(__razor_helper_writer, " data-template=\"VariantProductsContainer\""); 16958 16959 WriteLiteralTo(__razor_helper_writer, " data-json-feed=\""); 16960 16961 16962 #line 5722 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16963 WriteTo(__razor_helper_writer, variantsFeedUrl); 16964 16965 16966 #line default 16967 #line hidden 16968 WriteLiteralTo(__razor_helper_writer, "\""); 16969 16970 WriteLiteralTo(__razor_helper_writer, " data-preloader=\"minimal\""); 16971 16972 WriteLiteralTo(__razor_helper_writer, "></div>\r\n </div>\r\n </div>\r\n"); 16973 16974 16975 #line 5725 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16976 16977 16978 #line default 16979 #line hidden 16980 }); 16981 16982 #line 5725 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16983 } 16984 #line default 16985 #line hidden 16986 16987 16988 #line 5727 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16989 public RazorEngine.Templating.TemplateWriter RenderVariantListScripts() 16990 { 16991 #line default 16992 #line hidden 16993 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 16994 16995 #line 5728 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 16996 16997 bool showProductNumberForVariants = !Converter.ToBoolean(variantListSettings["HideProductNumbers"]); 16998 bool showImageForEachVariant = !Converter.ToBoolean(variantListSettings["HideImage"]); 16999 bool variantsPointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 17000 string variantsListPageSize = HttpContext.Current.Request.QueryString.Get("PageSize") ?? "30"; 17001 string variantsFeedUrl = "/Default.aspx?ID=" + GetPageIdByNavigationTag("ProductsPage") + "&PageSize=" + variantsListPageSize + "&MainProductID=" + GetString("Ecom:Product.ID") + "&OnlyShowVariants=true&feed=true"; 17002 string variantsCartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 17003 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 17004 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 17005 17006 17007 17008 #line default 17009 #line hidden 17010 WriteLiteralTo(__razor_helper_writer, " <script"); 17011 17012 WriteLiteralTo(__razor_helper_writer, " id=\"VariantProductsContainer\""); 17013 17014 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 17015 17016 WriteLiteralTo(__razor_helper_writer, ">\r\n {{#.}}\r\n <div>\r\n <table id=\"VariantsProducts" + 17017 "Container\" class=\"table u-position-relative dw-mod\">\r\n <thead" + 17018 ">\r\n <tr>\r\n"); 17019 17020 17021 #line 5744 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17022 17023 17024 #line default 17025 #line hidden 17026 17027 #line 5744 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17028 if (showImageForEachVariant) 17029 { 17030 17031 17032 #line default 17033 #line hidden 17034 WriteLiteralTo(__razor_helper_writer, " <td"); 17035 17036 WriteLiteralTo(__razor_helper_writer, " width=\"75\""); 17037 17038 WriteLiteralTo(__razor_helper_writer, ">&nbsp;</td>\r\n"); 17039 17040 17041 #line 5747 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17042 } 17043 17044 17045 #line default 17046 #line hidden 17047 WriteLiteralTo(__razor_helper_writer, " <td>"); 17048 17049 17050 #line 5748 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17051 WriteTo(__razor_helper_writer, Translate("Product")); 17052 17053 17054 #line default 17055 #line hidden 17056 WriteLiteralTo(__razor_helper_writer, "</td>\r\n {{#AvailableCustomFields}}\r\n\t\t\t\t " + 17057 " {{>TableFieldNameTemplate}}\r\n\t\t\t {{/AvailableCustomFields}}\r\n"); 17058 17059 17060 #line 5752 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17061 17062 17063 #line default 17064 #line hidden 17065 17066 #line 5752 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17067 if (Converter.ToBoolean(variantListSettings["RenderVariantGroupsInTable"])) { 17068 foreach (LoopItem variantgroup in GetLoop("VariantGroups")) 17069 { 17070 17071 17072 #line default 17073 #line hidden 17074 WriteLiteralTo(__razor_helper_writer, " <td>"); 17075 17076 17077 #line 5755 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17078 WriteTo(__razor_helper_writer, variantgroup.GetString("Ecom:VariantGroup.Name")); 17079 17080 17081 #line default 17082 #line hidden 17083 WriteLiteralTo(__razor_helper_writer, "</td>\r\n"); 17084 17085 17086 #line 5756 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17087 } 17088 } 17089 17090 17091 #line default 17092 #line hidden 17093 WriteLiteralTo(__razor_helper_writer, @" <td>&nbsp;</td> 17094 </tr> 17095 </thead> 17096 17097 <tbody id=""VariantProductListContainer"" data-template=""VariantProductItemContainer"" data-save-cookie=""true""> 17098 {{#ProductsContainer}} 17099 {{>VariantProductItemContainer}} 17100 {{/ProductsContainer}} 17101 </tbody> 17102 </table> 17103 </div> 17104 17105 <div class=""grid""> 17106 <div class=""grid__col-12 grid__col--bleed-y""> 17107 "); 17108 17109 17110 #line 5772 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17111 17112 17113 #line default 17114 #line hidden 17115 17116 #line 5772 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17117 17118 Button moreButton = new Button { Id = "LoadMoreButton", ButtonLayout = ButtonLayout.Primary, CssClass = "btn--full {{nextdisabled}}", Title = Translate("Load") + " " + Translate("more"), OnClick = "LoadMore.Next(this)" }; 17119 moreButton.ExtraAttributes.Add("data-current", "{{currentPage}}"); 17120 moreButton.ExtraAttributes.Add("data-page-size", "{{pageSize}}"); 17121 moreButton.ExtraAttributes.Add("data-total", "{{totalPages}}"); 17122 moreButton.ExtraAttributes.Add("data-container", "VariantProductListContainer"); 17123 moreButton.ExtraAttributes.Add("data-feed-url", variantsFeedUrl + "{{loadMoreFeedParams}}"); 17124 moreButton.ExtraAttributes.Add("", "{{nextdisabled}}"); 17125 17126 17127 #line default 17128 #line hidden 17129 WriteLiteralTo(__razor_helper_writer, "\r\n"); 17130 17131 WriteLiteralTo(__razor_helper_writer, " "); 17132 17133 17134 #line 5781 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17135 WriteTo(__razor_helper_writer, Render(moreButton)); 17136 17137 17138 #line default 17139 #line hidden 17140 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t </div>\r\n\t\t </div>\r\n {{/.}}\r\n </script>\r\n"); 17141 17142 17143 #line 5786 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17144 17145 17146 17147 #line default 17148 #line hidden 17149 WriteLiteralTo(__razor_helper_writer, " <script"); 17150 17151 WriteLiteralTo(__razor_helper_writer, " id=\"VariantProductItemContainer\""); 17152 17153 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 17154 17155 WriteLiteralTo(__razor_helper_writer, @"> 17156 {{#.}} 17157 <tr id=""VariantProduct{{id}}"" class=""js-product"" data-template=""VariantProductItem"" data-preloader=""overlay"" style=""z-index: {{zIndex}}""> 17158 {{#Product}} 17159 {{>VariantProductItem}} 17160 {{/Product}} 17161 </tr> 17162 {{/.}} 17163 </script> 17164 "); 17165 17166 17167 #line 5796 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17168 17169 17170 17171 #line default 17172 #line hidden 17173 WriteLiteralTo(__razor_helper_writer, " <script"); 17174 17175 WriteLiteralTo(__razor_helper_writer, " id=\"VariantProductItem\""); 17176 17177 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 17178 17179 WriteLiteralTo(__razor_helper_writer, ">\r\n\t {{#.}}\r\n"); 17180 17181 17182 #line 5799 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17183 17184 17185 #line default 17186 #line hidden 17187 17188 #line 5799 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17189 if (showImageForEachVariant) 17190 { 17191 17192 17193 #line default 17194 #line hidden 17195 WriteLiteralTo(__razor_helper_writer, " <td"); 17196 17197 WriteLiteralTo(__razor_helper_writer, " width=\"75\""); 17198 17199 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 17200 17201 WriteLiteralTo(__razor_helper_writer, " class=\"lightbox u-hidden-xxs\""); 17202 17203 WriteLiteralTo(__razor_helper_writer, ">\r\n <a"); 17204 17205 WriteLiteralTo(__razor_helper_writer, " href=\"{{link}}\""); 17206 17207 WriteLiteralTo(__razor_helper_writer, " onclick=\"Scroll.SavePosition(event)\""); 17208 17209 WriteLiteralTo(__razor_helper_writer, " title=\"{{name}}{{#if variantName}}, {{variantName}}{{/if}}\""); 17210 17211 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 17212 17213 WriteLiteralTo(__razor_helper_writer, " "); 17214 17215 17216 #line 5804 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17217 WriteTo(__razor_helper_writer, Render(new Image() 17218 { 17219 Path = "{{image}}", 17220 Title = "{{name}}{{#if variantName}}, {{variantName}}{{/if}}", 17221 CssClass = "lightbox__image {{noImage}}", 17222 DisableLazyLoad = true, 17223 ImageDefault = new ImageSettings { Width = 220, Height = 220, Crop = 5 } 17224 })); 17225 17226 17227 #line default 17228 #line hidden 17229 WriteLiteralTo(__razor_helper_writer, "\r\n <div"); 17230 17231 WriteLiteralTo(__razor_helper_writer, " class=\"u-margin-right {{noImage}}\""); 17232 17233 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 17234 17235 WriteLiteralTo(__razor_helper_writer, " "); 17236 17237 17238 #line 5813 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17239 WriteTo(__razor_helper_writer, Render(new Image() 17240 { 17241 Path = "{{image}}", 17242 Title = "{{name}}{{#if variantName}}, {{variantName}}{{/if}}", 17243 DisableLazyLoad = true, 17244 ImageDefault = new ImageSettings { Width = 75, Height = 55, Crop = 5, FillCanvas = true } 17245 })); 17246 17247 17248 #line default 17249 #line hidden 17250 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </a>\r\n " + 17251 " </div>\r\n </td>\r\n"); 17252 17253 17254 #line 5824 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17255 } 17256 17257 17258 #line default 17259 #line hidden 17260 WriteLiteralTo(__razor_helper_writer, @" 17261 <td class=""u-va-middle""> 17262 <a href=""{{link}}"" onclick=""Scroll.SavePosition(event)"" title=""{{name}}{{#if variantName}}, {{variantName}}{{/if}}""> 17263 <h6 class=""u-no-margin"">{{name}}{{#if variantName}}, {{variantName}}{{/if}}</h6> 17264 </a> 17265 "); 17266 17267 17268 #line 5830 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17269 17270 17271 #line default 17272 #line hidden 17273 17274 #line 5830 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17275 if (showProductNumberForVariants) 17276 { 17277 17278 17279 #line default 17280 #line hidden 17281 WriteLiteralTo(__razor_helper_writer, " <div"); 17282 17283 WriteLiteralTo(__razor_helper_writer, " class=\"item-number item-number--compressed u-margin-bottom dw-mod\""); 17284 17285 WriteLiteralTo(__razor_helper_writer, ">\r\n <div>{{number}}</div>\r\n </div>\r\n"); 17286 17287 17288 #line 5835 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17289 } 17290 17291 17292 #line default 17293 #line hidden 17294 WriteLiteralTo(__razor_helper_writer, "\t\t\t "); 17295 17296 17297 #line 5836 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17298 if (User.IsStockInfoAllowed()) 17299 { 17300 17301 17302 #line default 17303 #line hidden 17304 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t "); 17305 17306 WriteLiteralTo(__razor_helper_writer, "{{#if stockText}}"); 17307 17308 WriteLiteralTo(__razor_helper_writer, "\r\n"); 17309 17310 WriteLiteralTo(__razor_helper_writer, " <div"); 17311 17312 WriteLiteralTo(__razor_helper_writer, " class=\"item-number item-number--compressed dw-mod\""); 17313 17314 WriteLiteralTo(__razor_helper_writer, ">\r\n <span>\r\n <span"); 17315 17316 WriteLiteralTo(__razor_helper_writer, " class=\"stock-icon {{stockState}} u-no-margin dw-mod\""); 17317 17318 WriteLiteralTo(__razor_helper_writer, " title=\"{{stockText}}\""); 17319 17320 WriteLiteralTo(__razor_helper_writer, "></span>\r\n <span"); 17321 17322 WriteLiteralTo(__razor_helper_writer, " class=\"u-margin-right--lg\""); 17323 17324 WriteLiteralTo(__razor_helper_writer, "> {{stockText}}</span>\r\n {{deliveryText}}\r\n " + 17325 " </span>\r\n </div>\r\n"); 17326 17327 WriteLiteralTo(__razor_helper_writer, " "); 17328 17329 WriteLiteralTo(__razor_helper_writer, "{{/if}}"); 17330 17331 WriteLiteralTo(__razor_helper_writer, "\r\n"); 17332 17333 17334 #line 5847 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17335 } 17336 else 17337 { 17338 17339 17340 #line default 17341 #line hidden 17342 WriteLiteralTo(__razor_helper_writer, " <div"); 17343 17344 WriteLiteralTo(__razor_helper_writer, " class=\"grid__cell-footer stickers-container stickers-container--block dw-mod\""); 17345 17346 WriteLiteralTo(__razor_helper_writer, ">\r\n {{#Stickers}}\r\n {{>MiniStic" + 17347 "ker}}\r\n {{/Stickers}}\r\n </div>\r\n"); 17348 17349 17350 #line 5855 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17351 } 17352 17353 17354 #line default 17355 #line hidden 17356 WriteLiteralTo(__razor_helper_writer, " </td> \r\n {{#CustomFields}}\r\n\t\t {{>TableFieldValueTem" + 17357 "plate}}\r\n\t\t {{/CustomFields}}\r\n"); 17358 17359 17360 #line 5860 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17361 17362 17363 #line default 17364 #line hidden 17365 17366 #line 5860 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17367 if (Converter.ToBoolean(variantListSettings["RenderVariantGroupsInTable"])) 17368 { 17369 17370 17371 #line default 17372 #line hidden 17373 WriteLiteralTo(__razor_helper_writer, " "); 17374 17375 WriteLiteralTo(__razor_helper_writer, "\r\n {{#VariantSelectionNames}}\r\n\t\t {{>TableField" + 17376 "NameTemplate}}\r\n\t\t {{/VariantSelectionNames}}\r\n "); 17377 17378 WriteLiteralTo(__razor_helper_writer, "\r\n"); 17379 17380 17381 #line 5867 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17382 } 17383 17384 17385 #line default 17386 #line hidden 17387 WriteLiteralTo(__razor_helper_writer, " <td class=\"u-va-middle\">\r\n"); 17388 17389 17390 #line 5869 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17391 17392 17393 #line default 17394 #line hidden 17395 17396 #line 5869 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17397 if (Dynamicweb.Rapido.Services.User.IsPricesAllowed() && !Dynamicweb.Rapido.Services.User.IsBuyingAllowed()) 17398 { 17399 17400 17401 #line default 17402 #line hidden 17403 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t <div"); 17404 17405 WriteLiteralTo(__razor_helper_writer, " class=\"u-hidden-sm\""); 17406 17407 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t <div"); 17408 17409 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width u-ta-right u-padding-right\""); 17410 17411 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t <div"); 17412 17413 WriteLiteralTo(__razor_helper_writer, " class=\"before-price {{onSale}} before-price--micro dw-mod\""); 17414 17415 WriteLiteralTo(__razor_helper_writer, ">{{discount}}</div>\r\n\t\t\t\t\t\t <div"); 17416 17417 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-list price--micro dw-mod\""); 17418 17419 WriteLiteralTo(__razor_helper_writer, ">{{price}}</div>\r\n\t\t\t\t\t </div>\r\n\t\t\t\t </div>\r\n"); 17420 17421 17422 #line 5877 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17423 } 17424 17425 17426 #line default 17427 #line hidden 17428 WriteLiteralTo(__razor_helper_writer, "\r\n <div class=\"grid grid--align-center grid--justify-end\">\r\n " + 17429 " <div class=\"u-margin-right u-hidden-xs u-hidden-xxs\">\r\n"); 17430 17431 17432 #line 5881 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17433 17434 17435 #line default 17436 #line hidden 17437 17438 #line 5881 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17439 if (variantsPointShopOnly) 17440 { 17441 17442 17443 #line default 17444 #line hidden 17445 WriteLiteralTo(__razor_helper_writer, " "); 17446 17447 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if canBePurchasedWithPoints}}\r\n " + 17448 " <div"); 17449 17450 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-list price--micro dw-mod\""); 17451 17452 WriteLiteralTo(__razor_helper_writer, ">{{points}} "); 17453 17454 17455 #line 5885 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17456 WriteTo(__razor_helper_writer, Translate("points")); 17457 17458 17459 #line default 17460 #line hidden 17461 WriteLiteralTo(__razor_helper_writer, "</div>\r\n {{else}}\r\n " + 17462 " {{#if havePointPrice}}\r\n <small"); 17463 17464 WriteLiteralTo(__razor_helper_writer, " class=\"help-text u-no-margin u-margin-top\""); 17465 17466 WriteLiteralTo(__razor_helper_writer, ">"); 17467 17468 17469 #line 5888 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17470 WriteTo(__razor_helper_writer, Translate("Not enough points to buy this")); 17471 17472 17473 #line default 17474 #line hidden 17475 WriteLiteralTo(__razor_helper_writer, "</small>\r\n {{else}}\r\n " + 17476 " <small"); 17477 17478 WriteLiteralTo(__razor_helper_writer, " class=\"help-text u-no-margin u-margin-top\""); 17479 17480 WriteLiteralTo(__razor_helper_writer, ">"); 17481 17482 17483 #line 5890 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17484 WriteTo(__razor_helper_writer, Translate("Not available")); 17485 17486 17487 #line default 17488 #line hidden 17489 WriteLiteralTo(__razor_helper_writer, "</small>\r\n {{/if}}\r\n " + 17490 " {{/if}}\r\n "); 17491 17492 WriteLiteralTo(__razor_helper_writer, "\r\n"); 17493 17494 17495 #line 5894 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17496 } 17497 else if (Dynamicweb.Rapido.Services.User.IsPricesAllowed()) 17498 { 17499 17500 17501 #line default 17502 #line hidden 17503 WriteLiteralTo(__razor_helper_writer, " <div"); 17504 17505 WriteLiteralTo(__razor_helper_writer, " class=\"before-price before-price--micro {{onSale}} dw-mod\""); 17506 17507 WriteLiteralTo(__razor_helper_writer, ">{{discount}}</div>\r\n"); 17508 17509 WriteLiteralTo(__razor_helper_writer, " <div"); 17510 17511 WriteLiteralTo(__razor_helper_writer, " class=\"price price--condensed price--product-list dw-mod\""); 17512 17513 WriteLiteralTo(__razor_helper_writer, ">{{price}}</div>\r\n"); 17514 17515 17516 #line 5899 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17517 } 17518 17519 17520 #line default 17521 #line hidden 17522 WriteLiteralTo(__razor_helper_writer, " </div>\r\n\r\n"); 17523 17524 17525 #line 5902 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17526 17527 17528 #line default 17529 #line hidden 17530 17531 #line 5902 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17532 if (Dynamicweb.Rapido.Services.User.IsBuyingAllowed()) 17533 { 17534 var addToCartBtn = new AddToCart 17535 { 17536 AddButton = new AddToCartButton 17537 { 17538 HideTitle = true, 17539 ProductId = "{{productId}}", 17540 VariantId = "{{variantid}}", 17541 UnitId = "{{unitId}}", 17542 ProductInfo = "{{productInfo}}", 17543 BuyForPoints = variantsPointShopOnly, 17544 OnClick = "{{facebookPixelAction}}" 17545 }, 17546 UnitSelector = new UnitSelector 17547 { 17548 OptionsContent = "{{#unitOptions}}{{>VariantUnitOption}}{{/unitOptions}}", 17549 Id = "UnitOptions_{{id}}", 17550 SelectedOption = "{{unitName}}", 17551 CssClass = "{{hasUnits}}" 17552 } 17553 }; 17554 17555 if (!variantsPointShopOnly) 17556 { 17557 addToCartBtn.QuantitySelector = new QuantitySelector 17558 { 17559 Id = "Quantity_{{id}}" 17560 }; 17561 } 17562 17563 17564 17565 #line default 17566 #line hidden 17567 WriteLiteralTo(__razor_helper_writer, " <div"); 17568 17569 WriteLiteralTo(__razor_helper_writer, " class=\"grid__cell u-flex-grow--0\""); 17570 17571 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 17572 17573 WriteLiteralTo(__razor_helper_writer, " "); 17574 17575 17576 #line 5934 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17577 WriteTo(__razor_helper_writer, Render(addToCartBtn)); 17578 17579 17580 #line default 17581 #line hidden 17582 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 17583 17584 17585 #line 5936 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17586 } 17587 17588 17589 #line default 17590 #line hidden 17591 WriteLiteralTo(__razor_helper_writer, @" <div class=""favorites u-margin-left dw-mod""> 17592 {{#Favorite}} 17593 {{>FavoriteTemplate}} 17594 {{/Favorite}} 17595 </div> 17596 </div> 17597 </td> 17598 {{/.}} 17599 </script> 17600 "); 17601 17602 17603 #line 5946 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17604 17605 17606 17607 #line default 17608 #line hidden 17609 WriteLiteralTo(__razor_helper_writer, " <script"); 17610 17611 WriteLiteralTo(__razor_helper_writer, " id=\"TableFieldNameTemplate\""); 17612 17613 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 17614 17615 WriteLiteralTo(__razor_helper_writer, ">\r\n\t <td class=\"u-va-middle\">{{name}}</td> \r\n </script>\r\n"); 17616 17617 17618 #line 5950 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17619 17620 17621 17622 #line default 17623 #line hidden 17624 WriteLiteralTo(__razor_helper_writer, " <script"); 17625 17626 WriteLiteralTo(__razor_helper_writer, " id=\"TableFieldValueTemplate\""); 17627 17628 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 17629 17630 WriteLiteralTo(__razor_helper_writer, ">\r\n\t <td class=\"u-va-middle\">{{value}}</td> \r\n </script>\r\n"); 17631 17632 17633 #line 5954 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17634 17635 17636 17637 #line default 17638 #line hidden 17639 WriteLiteralTo(__razor_helper_writer, " <script"); 17640 17641 WriteLiteralTo(__razor_helper_writer, " id=\"MiniSticker\""); 17642 17643 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 17644 17645 WriteLiteralTo(__razor_helper_writer, ">\r\n\t <div class=\"stickers-container__tag stickers-container__tag--micro {{CssC" + 17646 "lass}} dw-mod\">{{Title}}</div>\r\n </script>\r\n"); 17647 17648 17649 #line 5958 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17650 17651 17652 17653 #line default 17654 #line hidden 17655 WriteLiteralTo(__razor_helper_writer, " <script"); 17656 17657 WriteLiteralTo(__razor_helper_writer, " id=\"VariantUnitOption\""); 17658 17659 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 17660 17661 WriteLiteralTo(__razor_helper_writer, ">\r\n <div class=\"dropdown__item dw-mod\" onclick=\"HandlebarsBolt.UpdateConte" + 17662 "nt(this.closest(\'.js-product\').id, \'{{link}}&feed=true&UnitID={{value}}"); 17663 17664 17665 #line 5960 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17666 WriteTo(__razor_helper_writer, liveProductInfoParameter); 17667 17668 17669 #line default 17670 #line hidden 17671 WriteLiteralTo(__razor_helper_writer, "\')\">{{name}}</div>\r\n </script>\r\n"); 17672 17673 17674 #line 5962 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17675 17676 17677 #line default 17678 #line hidden 17679 }); 17680 17681 #line 5962 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17682 } 17683 #line default 17684 #line hidden 17685 17686 17687 #line 5974 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17688 17689 BlocksPage productVariantsMatrixPage = BlocksPage.GetBlockPage("Product"); 17690 17691 #line default 17692 #line hidden 17693 17694 17695 #line 6009 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17696 public RazorEngine.Templating.TemplateWriter RenderVariantsMatrixSection(string layout) 17697 { 17698 #line default 17699 #line hidden 17700 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 17701 17702 #line 6010 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17703 17704 string cartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 17705 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 17706 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 17707 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 17708 17709 List<LoopItem> variantInfos = GetLoop("VariantInfos"); 17710 string productId = GetString("Ecom:Product.ID"); 17711 string pageId = Pageview.Page.ID.ToString(); 17712 17713 17714 17715 17716 #line default 17717 #line hidden 17718 WriteLiteralTo(__razor_helper_writer, " <div"); 17719 17720 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 265831), Tuple.Create("\"", 265890) 17721 , Tuple.Create(Tuple.Create("", 265839), Tuple.Create("product__section", 265839), true) 17722 , Tuple.Create(Tuple.Create(" ", 265855), Tuple.Create("u-no-padding", 265856), true) 17723 17724 #line 6021 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17725 , Tuple.Create(Tuple.Create(" ", 265868), Tuple.Create<System.Object, System.Int32>(ribbonClasses 17726 17727 #line default 17728 #line hidden 17729 , 265869), false) 17730 , Tuple.Create(Tuple.Create(" ", 265883), Tuple.Create("dw-mod", 265884), true) 17731 ); 17732 17733 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 17734 17735 WriteAttributeTo(__razor_helper_writer, "class", Tuple.Create(" class=\"", 265906), Tuple.Create("\"", 265955) 17736 , Tuple.Create(Tuple.Create("", 265914), Tuple.Create("center-container", 265914), true) 17737 17738 #line 6022 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17739 , Tuple.Create(Tuple.Create(" ", 265930), Tuple.Create<System.Object, System.Int32>(ribbonSubClasses 17740 17741 #line default 17742 #line hidden 17743 , 265931), false) 17744 , Tuple.Create(Tuple.Create(" ", 265948), Tuple.Create("dw-mod", 265949), true) 17745 ); 17746 17747 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 17748 17749 WriteLiteralTo(__razor_helper_writer, " "); 17750 17751 17752 #line 6023 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17753 WriteTo(__razor_helper_writer, RenderVariantInfoMatrix(variantInfos, productId, pageId, 0, "add")); 17754 17755 17756 #line default 17757 #line hidden 17758 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </div>\r\n"); 17759 17760 17761 #line 6026 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17762 17763 17764 #line default 17765 #line hidden 17766 }); 17767 17768 #line 6026 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17769 } 17770 #line default 17771 #line hidden 17772 17773 17774 #line 6041 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17775 public RazorEngine.Templating.TemplateWriter RenderVariantInfoMatrix(List<LoopItem> variantInfos, string productId, string pageId, double totalPrice = 0, string actionType = "update") { 17776 #line default 17777 #line hidden 17778 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 17779 17780 #line 6041 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17781 17782 string cartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 17783 bool hideAddToCartButton = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("hideAddToCartButton"); 17784 17785 string currencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code; 17786 string countryCode = Pageview.Area.CultureInfo != null ? Pageview.Area.CultureInfo.Name : "en-US"; 17787 17788 int loopCount = 0; 17789 int dimensionsCount = 0; 17790 bool firstRun = true; 17791 List<string> headerLabels = new List<string>(); 17792 17793 bool useFontAwesomePro = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetBoolean("UseFontAwesomePro"); 17794 17795 //Collect the missing data needed to render matrixes 17796 foreach (var variantInfoFirst in variantInfos) 17797 { 17798 dimensionsCount = 1; 17799 17800 foreach (var variantInfoSecond in variantInfoFirst.GetLoop("VariantInfos")) 17801 { 17802 dimensionsCount = 2; 17803 17804 if (firstRun) { 17805 headerLabels.Add(variantInfoSecond.GetString("OptionName")); 17806 } 17807 17808 foreach (var variantInfoThird in variantInfoSecond.GetLoop("VariantInfos")) 17809 { 17810 dimensionsCount = 3; 17811 } 17812 } 17813 17814 firstRun = false; 17815 } 17816 17817 17818 17819 #line default 17820 #line hidden 17821 17822 #line 6077 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17823 17824 if (dimensionsCount == 1) 17825 { 17826 int totalQuantity = 0; 17827 17828 17829 17830 #line default 17831 #line hidden 17832 WriteLiteralTo(__razor_helper_writer, " <table"); 17833 17834 WriteLiteralTo(__razor_helper_writer, " cellspacing=\"0\""); 17835 17836 WriteLiteralTo(__razor_helper_writer, " class=\"table matrix js-matrix dw-mod\""); 17837 17838 WriteLiteralTo(__razor_helper_writer, ">\r\n <thead"); 17839 17840 WriteLiteralTo(__razor_helper_writer, " class=\"matrix__head dw-mod\""); 17841 17842 WriteLiteralTo(__razor_helper_writer, ">\r\n <tr>\r\n"); 17843 17844 17845 #line 6085 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17846 17847 17848 #line default 17849 #line hidden 17850 17851 #line 6085 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17852 foreach (var variantInfoFirst in variantInfos) 17853 { 17854 17855 17856 #line default 17857 #line hidden 17858 WriteLiteralTo(__razor_helper_writer, " <td"); 17859 17860 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-ta-center\""); 17861 17862 WriteLiteralTo(__razor_helper_writer, " width=\"80\""); 17863 17864 WriteLiteralTo(__razor_helper_writer, " >\r\n <div>"); 17865 17866 17867 #line 6088 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17868 WriteTo(__razor_helper_writer, variantInfoFirst.GetString("OptionName")); 17869 17870 17871 #line default 17872 #line hidden 17873 WriteLiteralTo(__razor_helper_writer, "</div>\r\n <small>"); 17874 17875 17876 #line 6089 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17877 WriteTo(__razor_helper_writer, variantInfoFirst.GetString("VariantId")); 17878 17879 17880 #line default 17881 #line hidden 17882 WriteLiteralTo(__razor_helper_writer, "</small>\r\n </td>\r\n"); 17883 17884 17885 #line 6091 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17886 } 17887 17888 17889 #line default 17890 #line hidden 17891 WriteLiteralTo(__razor_helper_writer, " <td"); 17892 17893 WriteLiteralTo(__razor_helper_writer, " width=\"80px\""); 17894 17895 WriteLiteralTo(__razor_helper_writer, " align=\"right\""); 17896 17897 WriteLiteralTo(__razor_helper_writer, " class=\"matrix-label-field-right dw-mod\""); 17898 17899 WriteLiteralTo(__razor_helper_writer, ">"); 17900 17901 17902 #line 6092 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17903 WriteTo(__razor_helper_writer, Translate("Totals")); 17904 17905 17906 #line default 17907 #line hidden 17908 WriteLiteralTo(__razor_helper_writer, "</td>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </" + 17909 "thead>\r\n <tbody>\r\n <tr>\r\n"); 17910 17911 17912 #line 6098 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17913 17914 17915 #line default 17916 #line hidden 17917 17918 #line 6098 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17919 foreach (var variantInfoFirst in variantInfos) 17920 { 17921 double price = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, variantInfoFirst.GetString("VariantId"), Dynamicweb.Ecommerce.Common.Context.LanguageID).GetPrice(Dynamicweb.Ecommerce.Common.Context.Currency.Code, Dynamicweb.Ecommerce.Common.Context.Country.Code2).Price; 17922 17923 loopCount++; 17924 totalQuantity += variantInfoFirst.GetInteger("Quantity"); 17925 17926 17927 17928 #line default 17929 #line hidden 17930 WriteLiteralTo(__razor_helper_writer, " <td"); 17931 17932 WriteLiteralTo(__razor_helper_writer, " class=\"matrix__input-cell dw-mod\""); 17933 17934 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 17935 17936 17937 #line 6106 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17938 17939 17940 #line default 17941 #line hidden 17942 17943 #line 6106 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17944 if (variantInfoFirst.GetBoolean("IsProduct")) 17945 { 17946 17947 17948 #line default 17949 #line hidden 17950 WriteLiteralTo(__razor_helper_writer, " <input"); 17951 17952 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 17953 17954 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 269747), Tuple.Create("\"", 269784) 17955 , Tuple.Create(Tuple.Create("", 269754), Tuple.Create("ProductLoopCounter", 269754), true) 17956 17957 #line 6108 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17958 , Tuple.Create(Tuple.Create("", 269772), Tuple.Create<System.Object, System.Int32>(loopCount 17959 17960 #line default 17961 #line hidden 17962 , 269772), false) 17963 ); 17964 17965 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 269785), Tuple.Create("\"", 269805) 17966 17967 #line 6108 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17968 , Tuple.Create(Tuple.Create("", 269793), Tuple.Create<System.Object, System.Int32>(loopCount 17969 17970 #line default 17971 #line hidden 17972 , 269793), false) 17973 ); 17974 17975 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 17976 17977 WriteLiteralTo(__razor_helper_writer, " <input"); 17978 17979 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 17980 17981 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 269863), Tuple.Create("\"", 269891) 17982 , Tuple.Create(Tuple.Create("", 269870), Tuple.Create("ProductID", 269870), true) 17983 17984 #line 6109 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17985 , Tuple.Create(Tuple.Create("", 269879), Tuple.Create<System.Object, System.Int32>(loopCount 17986 17987 #line default 17988 #line hidden 17989 , 269879), false) 17990 ); 17991 17992 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 269892), Tuple.Create("\"", 269910) 17993 17994 #line 6109 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 17995 , Tuple.Create(Tuple.Create("", 269900), Tuple.Create<System.Object, System.Int32>(productId 17996 17997 #line default 17998 #line hidden 17999 , 269900), false) 18000 ); 18001 18002 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 18003 18004 WriteLiteralTo(__razor_helper_writer, " <input"); 18005 18006 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 18007 18008 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 269968), Tuple.Create("\"", 269996) 18009 , Tuple.Create(Tuple.Create("", 269975), Tuple.Create("VariantID", 269975), true) 18010 18011 #line 6110 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18012 , Tuple.Create(Tuple.Create("", 269984), Tuple.Create<System.Object, System.Int32>(loopCount 18013 18014 #line default 18015 #line hidden 18016 , 269984), false) 18017 ); 18018 18019 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 269997), Tuple.Create("\"", 270045) 18020 18021 #line 6110 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18022 , Tuple.Create(Tuple.Create("", 270005), Tuple.Create<System.Object, System.Int32>(variantInfoFirst.GetString("VariantId") 18023 18024 #line default 18025 #line hidden 18026 , 270005), false) 18027 ); 18028 18029 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 18030 18031 WriteLiteralTo(__razor_helper_writer, " <input"); 18032 18033 WriteLiteralTo(__razor_helper_writer, " type=\"number\""); 18034 18035 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 270103), Tuple.Create("\"", 270130) 18036 , Tuple.Create(Tuple.Create("", 270110), Tuple.Create("Quantity", 270110), true) 18037 18038 #line 6111 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18039 , Tuple.Create(Tuple.Create("", 270118), Tuple.Create<System.Object, System.Int32>(loopCount 18040 18041 #line default 18042 #line hidden 18043 , 270118), false) 18044 ); 18045 18046 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 270131), Tuple.Create("\"", 270178) 18047 18048 #line 6111 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18049 , Tuple.Create(Tuple.Create("", 270139), Tuple.Create<System.Object, System.Int32>(variantInfoFirst.GetString("Quantity") 18050 18051 #line default 18052 #line hidden 18053 , 270139), false) 18054 ); 18055 18056 WriteLiteralTo(__razor_helper_writer, " data-price=\""); 18057 18058 18059 #line 6111 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18060 WriteTo(__razor_helper_writer, price); 18061 18062 18063 #line default 18064 #line hidden 18065 WriteLiteralTo(__razor_helper_writer, "\""); 18066 18067 WriteLiteralTo(__razor_helper_writer, " min=\"0\""); 18068 18069 WriteLiteralTo(__razor_helper_writer, " step=\"1\""); 18070 18071 WriteLiteralTo(__razor_helper_writer, " oninput=\"validity.valid||(value=\'\');\""); 18072 18073 WriteLiteralTo(__razor_helper_writer, " class=\"matrix-input-field dw-mod\""); 18074 18075 WriteLiteralTo(__razor_helper_writer, " onchange=\"Matrix.UpdateQuantities(this)\""); 18076 18077 WriteLiteralTo(__razor_helper_writer, " data-row-id=\"ONE\""); 18078 18079 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18080 18081 18082 #line 6112 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18083 } else { 18084 18085 18086 #line default 18087 #line hidden 18088 WriteLiteralTo(__razor_helper_writer, " <div"); 18089 18090 WriteLiteralTo(__razor_helper_writer, " class=\"matrix__cell-disabled dw-mod\""); 18091 18092 WriteLiteralTo(__razor_helper_writer, "></div>\r\n"); 18093 18094 18095 #line 6114 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18096 } 18097 18098 18099 #line default 18100 #line hidden 18101 WriteLiteralTo(__razor_helper_writer, " </td>\r\n"); 18102 18103 18104 #line 6116 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18105 } 18106 18107 18108 #line default 18109 #line hidden 18110 WriteLiteralTo(__razor_helper_writer, " <td"); 18111 18112 WriteLiteralTo(__razor_helper_writer, " class=\"u-va-middle\""); 18113 18114 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 18115 18116 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-ta-right matrix-label-field-right dw-mod\""); 18117 18118 WriteLiteralTo(__razor_helper_writer, " data-row-total=\"ONE\""); 18119 18120 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18121 18122 WriteLiteralTo(__razor_helper_writer, " "); 18123 18124 18125 #line 6119 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18126 WriteTo(__razor_helper_writer, totalQuantity); 18127 18128 18129 #line default 18130 #line hidden 18131 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </td>\r\n " + 18132 "<td"); 18133 18134 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-va-middle u-ta-right matrix-label-field-right dw-mod\""); 18135 18136 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 18137 18138 WriteLiteralTo(__razor_helper_writer, " class=\"js-total-price\""); 18139 18140 WriteLiteralTo(__razor_helper_writer, " data-currency-code=\""); 18141 18142 18143 #line 6123 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18144 WriteTo(__razor_helper_writer, currencyCode); 18145 18146 18147 #line default 18148 #line hidden 18149 WriteLiteralTo(__razor_helper_writer, "\""); 18150 18151 WriteLiteralTo(__razor_helper_writer, " data-country-code=\""); 18152 18153 18154 #line 6123 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18155 WriteTo(__razor_helper_writer, countryCode); 18156 18157 18158 #line default 18159 #line hidden 18160 WriteLiteralTo(__razor_helper_writer, "\""); 18161 18162 WriteLiteralTo(__razor_helper_writer, "></div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n" + 18163 " <tfoot>\r\n <tr>\r\n <td"); 18164 18165 WriteAttributeTo(__razor_helper_writer, "colspan", Tuple.Create(" colspan=\"", 271176), Tuple.Create("\"", 271211) 18166 18167 #line 6129 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18168 , Tuple.Create(Tuple.Create("", 271186), Tuple.Create<System.Object, System.Int32>(variantInfos.Count + 2 18169 18170 #line default 18171 #line hidden 18172 , 271186), false) 18173 ); 18174 18175 WriteLiteralTo(__razor_helper_writer, ">&nbsp;</td>\r\n </tr>\r\n"); 18176 18177 18178 #line 6131 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18179 18180 18181 #line default 18182 #line hidden 18183 18184 #line 6131 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18185 if (!hideAddToCartButton) 18186 { 18187 18188 18189 #line default 18190 #line hidden 18191 WriteLiteralTo(__razor_helper_writer, " <tr>\r\n <td"); 18192 18193 WriteAttributeTo(__razor_helper_writer, "colspan", Tuple.Create(" colspan=\"", 271365), Tuple.Create("\"", 271400) 18194 18195 #line 6134 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18196 , Tuple.Create(Tuple.Create("", 271375), Tuple.Create<System.Object, System.Int32>(variantInfos.Count + 2 18197 18198 #line default 18199 #line hidden 18200 , 271375), false) 18201 ); 18202 18203 WriteLiteralTo(__razor_helper_writer, " class=\"u-ta-right\""); 18204 18205 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 18206 18207 WriteLiteralTo(__razor_helper_writer, " class=\"u-padding--lg\""); 18208 18209 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18210 18211 18212 #line 6136 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18213 18214 18215 #line default 18216 #line hidden 18217 18218 #line 6136 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18219 if (actionType == "update") { 18220 18221 18222 #line default 18223 #line hidden 18224 18225 #line 6137 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18226 WriteTo(__razor_helper_writer, Render(new Button { OnClick = "Matrix.UpdateCart(this, '" + pageId + "');", Title = Translate("Update"), ButtonLayout = ButtonLayout.Tertiary, Icon = new Icon { Prefix = useFontAwesomePro ? "fal" : "fas", Name = "fa-redo", LabelPosition = IconLabelPosition.After }, CssClass = "u-no-margin" })); 18227 18228 18229 #line default 18230 #line hidden 18231 18232 #line 6137 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18233 18234 } else if (actionType == "justadd") { 18235 18236 18237 #line default 18238 #line hidden 18239 18240 #line 6139 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18241 WriteTo(__razor_helper_writer, Render(new Button { OnClick = "Matrix.AddToCart(this, '" + pageId + "');", Title = Translate("Add"), ButtonLayout = ButtonLayout.Tertiary, CssClass = "u-no-margin" })); 18242 18243 18244 #line default 18245 #line hidden 18246 18247 #line 6139 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18248 18249 } else { 18250 18251 18252 #line default 18253 #line hidden 18254 18255 #line 6141 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18256 WriteTo(__razor_helper_writer, Render(new Button { OnClick = "Matrix.AddToCart(this, '" + pageId + "');", Title = Translate("Add to cart"), ButtonLayout = ButtonLayout.Tertiary, Icon = new Icon { Name = cartIcon, LabelPosition = IconLabelPosition.After }, CssClass = "u-no-margin" })); 18257 18258 18259 #line default 18260 #line hidden 18261 18262 #line 6141 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18263 18264 } 18265 18266 18267 #line default 18268 #line hidden 18269 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </td>\r\n " + 18270 " </tr>\r\n"); 18271 18272 18273 #line 6146 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18274 } 18275 18276 18277 #line default 18278 #line hidden 18279 WriteLiteralTo(__razor_helper_writer, " </tfoot>\r\n </table>\r\n"); 18280 18281 18282 #line 6149 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18283 } 18284 18285 18286 18287 #line default 18288 #line hidden 18289 18290 #line 6151 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18291 18292 if (dimensionsCount == 2) 18293 { 18294 Dictionary<string, int> columnTotals = new Dictionary<string, int>(); 18295 int counter = 0; 18296 int totalProducts = 0; 18297 int totalColumns = 0; 18298 18299 18300 18301 #line default 18302 #line hidden 18303 WriteLiteralTo(__razor_helper_writer, " <table"); 18304 18305 WriteLiteralTo(__razor_helper_writer, " class=\"table matrix js-matrix dw-mod\""); 18306 18307 WriteLiteralTo(__razor_helper_writer, " cellspacing=\"0\""); 18308 18309 WriteLiteralTo(__razor_helper_writer, ">\r\n <thead"); 18310 18311 WriteLiteralTo(__razor_helper_writer, " class=\"matrix__head dw-mod\""); 18312 18313 WriteLiteralTo(__razor_helper_writer, ">\r\n <tr>\r\n <td"); 18314 18315 WriteLiteralTo(__razor_helper_writer, " width=\"160\""); 18316 18317 WriteLiteralTo(__razor_helper_writer, ">&nbsp;</td>\r\n"); 18318 18319 18320 #line 6163 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18321 18322 18323 #line default 18324 #line hidden 18325 18326 #line 6163 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18327 foreach (string label in headerLabels) 18328 { 18329 18330 18331 #line default 18332 #line hidden 18333 WriteLiteralTo(__razor_helper_writer, " <td"); 18334 18335 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-ta-center\""); 18336 18337 WriteLiteralTo(__razor_helper_writer, " width=\"80\""); 18338 18339 WriteLiteralTo(__razor_helper_writer, ">"); 18340 18341 18342 #line 6165 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18343 WriteTo(__razor_helper_writer, label); 18344 18345 18346 #line default 18347 #line hidden 18348 WriteLiteralTo(__razor_helper_writer, "</td>\r\n"); 18349 18350 18351 #line 6166 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18352 } 18353 18354 18355 #line default 18356 #line hidden 18357 WriteLiteralTo(__razor_helper_writer, " <td"); 18358 18359 WriteLiteralTo(__razor_helper_writer, " align=\"right\""); 18360 18361 WriteLiteralTo(__razor_helper_writer, " width=\"80\""); 18362 18363 WriteLiteralTo(__razor_helper_writer, " class=\"matrix-label-field-right dw-mod\""); 18364 18365 WriteLiteralTo(__razor_helper_writer, ">"); 18366 18367 18368 #line 6167 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18369 WriteTo(__razor_helper_writer, Translate("Totals")); 18370 18371 18372 #line default 18373 #line hidden 18374 WriteLiteralTo(__razor_helper_writer, "</td>\r\n <td>&nbsp;</td>\r\n </tr>\r\n </" + 18375 "thead>\r\n <tbody>\r\n"); 18376 18377 18378 #line 6172 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18379 18380 18381 #line default 18382 #line hidden 18383 18384 #line 6172 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18385 foreach (var variantInfoFirst in variantInfos) 18386 { 18387 int totalRowQuantity = 0; 18388 counter += variantInfoFirst.GetInteger("Quantity"); 18389 totalColumns = variantInfoFirst.GetLoop("VariantInfos").Count; 18390 18391 18392 18393 #line default 18394 #line hidden 18395 WriteLiteralTo(__razor_helper_writer, " <tr>\r\n <td"); 18396 18397 WriteLiteralTo(__razor_helper_writer, " class=\"matrix-label-field-left dw-mod\""); 18398 18399 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 18400 18401 WriteLiteralTo(__razor_helper_writer, " class=\"u-pull--left\""); 18402 18403 WriteLiteralTo(__razor_helper_writer, ">\r\n <div>"); 18404 18405 18406 #line 6181 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18407 WriteTo(__razor_helper_writer, variantInfoFirst.GetString("OptionName")); 18408 18409 18410 #line default 18411 #line hidden 18412 WriteLiteralTo(__razor_helper_writer, "</div>\r\n <small>"); 18413 18414 18415 #line 6182 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18416 WriteTo(__razor_helper_writer, variantInfoFirst.GetString("VariantId")); 18417 18418 18419 #line default 18420 #line hidden 18421 WriteLiteralTo(__razor_helper_writer, "</small>\r\n </div>\r\n \r\n"); 18422 18423 18424 #line 6185 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18425 18426 18427 #line default 18428 #line hidden 18429 18430 #line 6185 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18431 if (!string.IsNullOrEmpty(variantInfoFirst.GetString("Image"))) { 18432 18433 18434 #line default 18435 #line hidden 18436 WriteLiteralTo(__razor_helper_writer, " <div"); 18437 18438 WriteLiteralTo(__razor_helper_writer, " class=\"matrix-option-image u-pull--right dw-mod\""); 18439 18440 WriteLiteralTo(__razor_helper_writer, " onclick=\"Matrix.ShowOptionImageModal(this)\""); 18441 18442 WriteLiteralTo(__razor_helper_writer, " data-img-src=\"/files/"); 18443 18444 18445 #line 6186 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18446 WriteTo(__razor_helper_writer, variantInfoFirst.GetString("Image")); 18447 18448 18449 #line default 18450 #line hidden 18451 WriteLiteralTo(__razor_helper_writer, "\""); 18452 18453 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18454 18455 WriteLiteralTo(__razor_helper_writer, " "); 18456 18457 18458 #line 6187 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18459 WriteTo(__razor_helper_writer, Render(new Image { 18460 Path = variantInfoFirst.GetString("Image"), 18461 ImageDefault = new ImageSettings { 18462 Width = 28, 18463 Height = 28 18464 }, 18465 ImageMedium = new ImageSettings { 18466 Width = 28, 18467 Height = 28 18468 }, 18469 ImageSmall = new ImageSettings { 18470 Width = 28, 18471 Height = 28 18472 } 18473 })); 18474 18475 18476 #line default 18477 #line hidden 18478 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 18479 18480 18481 #line 6203 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18482 } 18483 18484 18485 #line default 18486 #line hidden 18487 WriteLiteralTo(__razor_helper_writer, " </td>\r\n"); 18488 18489 18490 #line 6205 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18491 18492 18493 #line default 18494 #line hidden 18495 18496 #line 6205 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18497 foreach (var variantInfoSecond in variantInfoFirst.GetLoop("VariantInfos")) 18498 { 18499 loopCount++; 18500 totalRowQuantity += variantInfoSecond.GetInteger("Quantity"); 18501 18502 string optionName = variantInfoSecond.GetString("OptionName"); 18503 int optionQuantity = variantInfoSecond.GetInteger("Quantity"); 18504 if (columnTotals.ContainsKey(optionName)) { 18505 columnTotals[optionName] += optionQuantity; 18506 } else { 18507 columnTotals.Add(optionName, optionQuantity); 18508 } 18509 18510 18511 18512 #line default 18513 #line hidden 18514 WriteLiteralTo(__razor_helper_writer, " <td"); 18515 18516 WriteLiteralTo(__razor_helper_writer, " class=\"matrix__input-cell dw-mod\""); 18517 18518 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18519 18520 18521 #line 6219 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18522 18523 18524 #line default 18525 #line hidden 18526 18527 #line 6219 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18528 if (variantInfoSecond.GetBoolean("IsProduct")) { 18529 double price = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, variantInfoSecond.GetString("VariantId"), Dynamicweb.Ecommerce.Common.Context.LanguageID).GetPrice(Dynamicweb.Ecommerce.Common.Context.Currency.Code, Dynamicweb.Ecommerce.Common.Context.Country.Code2).Price; 18530 18531 18532 18533 #line default 18534 #line hidden 18535 WriteLiteralTo(__razor_helper_writer, " <input"); 18536 18537 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 18538 18539 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 276745), Tuple.Create("\"", 276782) 18540 , Tuple.Create(Tuple.Create("", 276752), Tuple.Create("ProductLoopCounter", 276752), true) 18541 18542 #line 6222 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18543 , Tuple.Create(Tuple.Create("", 276770), Tuple.Create<System.Object, System.Int32>(loopCount 18544 18545 #line default 18546 #line hidden 18547 , 276770), false) 18548 ); 18549 18550 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 276783), Tuple.Create("\"", 276803) 18551 18552 #line 6222 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18553 , Tuple.Create(Tuple.Create("", 276791), Tuple.Create<System.Object, System.Int32>(loopCount 18554 18555 #line default 18556 #line hidden 18557 , 276791), false) 18558 ); 18559 18560 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 18561 18562 WriteLiteralTo(__razor_helper_writer, " <input"); 18563 18564 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 18565 18566 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 276865), Tuple.Create("\"", 276893) 18567 , Tuple.Create(Tuple.Create("", 276872), Tuple.Create("ProductID", 276872), true) 18568 18569 #line 6223 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18570 , Tuple.Create(Tuple.Create("", 276881), Tuple.Create<System.Object, System.Int32>(loopCount 18571 18572 #line default 18573 #line hidden 18574 , 276881), false) 18575 ); 18576 18577 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 276894), Tuple.Create("\"", 276912) 18578 18579 #line 6223 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18580 , Tuple.Create(Tuple.Create("", 276902), Tuple.Create<System.Object, System.Int32>(productId 18581 18582 #line default 18583 #line hidden 18584 , 276902), false) 18585 ); 18586 18587 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 18588 18589 WriteLiteralTo(__razor_helper_writer, " <input"); 18590 18591 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 18592 18593 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 276974), Tuple.Create("\"", 277002) 18594 , Tuple.Create(Tuple.Create("", 276981), Tuple.Create("VariantID", 276981), true) 18595 18596 #line 6224 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18597 , Tuple.Create(Tuple.Create("", 276990), Tuple.Create<System.Object, System.Int32>(loopCount 18598 18599 #line default 18600 #line hidden 18601 , 276990), false) 18602 ); 18603 18604 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 277003), Tuple.Create("\"", 277052) 18605 18606 #line 6224 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18607 , Tuple.Create(Tuple.Create("", 277011), Tuple.Create<System.Object, System.Int32>(variantInfoSecond.GetString("VariantId") 18608 18609 #line default 18610 #line hidden 18611 , 277011), false) 18612 ); 18613 18614 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 18615 18616 WriteLiteralTo(__razor_helper_writer, " <input"); 18617 18618 WriteLiteralTo(__razor_helper_writer, " type=\"number\""); 18619 18620 WriteAttributeTo(__razor_helper_writer, "name", Tuple.Create(" name=\"", 277114), Tuple.Create("\"", 277141) 18621 , Tuple.Create(Tuple.Create("", 277121), Tuple.Create("Quantity", 277121), true) 18622 18623 #line 6225 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18624 , Tuple.Create(Tuple.Create("", 277129), Tuple.Create<System.Object, System.Int32>(loopCount 18625 18626 #line default 18627 #line hidden 18628 , 277129), false) 18629 ); 18630 18631 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 277142), Tuple.Create("\"", 277190) 18632 18633 #line 6225 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18634 , Tuple.Create(Tuple.Create("", 277150), Tuple.Create<System.Object, System.Int32>(variantInfoSecond.GetString("Quantity") 18635 18636 #line default 18637 #line hidden 18638 , 277150), false) 18639 ); 18640 18641 WriteLiteralTo(__razor_helper_writer, " data-price=\""); 18642 18643 18644 #line 6225 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18645 WriteTo(__razor_helper_writer, price); 18646 18647 18648 #line default 18649 #line hidden 18650 WriteLiteralTo(__razor_helper_writer, "\""); 18651 18652 WriteLiteralTo(__razor_helper_writer, " min=\"0\""); 18653 18654 WriteLiteralTo(__razor_helper_writer, " step=\"1\""); 18655 18656 WriteLiteralTo(__razor_helper_writer, " oninput=\"validity.valid||(value=\'\');\""); 18657 18658 WriteLiteralTo(__razor_helper_writer, " class=\"matrix-input-field dw-mod\""); 18659 18660 WriteLiteralTo(__razor_helper_writer, " onchange=\"Matrix.UpdateQuantities(this)\""); 18661 18662 WriteLiteralTo(__razor_helper_writer, " data-row-id=\""); 18663 18664 18665 #line 6225 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18666 WriteTo(__razor_helper_writer, variantInfoFirst.GetString("OptionName")); 18667 18668 18669 #line default 18670 #line hidden 18671 WriteLiteralTo(__razor_helper_writer, "\""); 18672 18673 WriteLiteralTo(__razor_helper_writer, " data-column-id=\""); 18674 18675 18676 #line 6225 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18677 WriteTo(__razor_helper_writer, variantInfoSecond.GetString("OptionName")); 18678 18679 18680 #line default 18681 #line hidden 18682 WriteLiteralTo(__razor_helper_writer, "\""); 18683 18684 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18685 18686 18687 #line 6226 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18688 } else { 18689 18690 18691 #line default 18692 #line hidden 18693 WriteLiteralTo(__razor_helper_writer, " <div"); 18694 18695 WriteLiteralTo(__razor_helper_writer, " class=\"matrix__cell-disabled dw-mod\""); 18696 18697 WriteLiteralTo(__razor_helper_writer, "></div>\r\n"); 18698 18699 18700 #line 6228 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18701 } 18702 18703 18704 #line default 18705 #line hidden 18706 WriteLiteralTo(__razor_helper_writer, " </td>\r\n"); 18707 18708 18709 #line 6230 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18710 } 18711 18712 18713 #line default 18714 #line hidden 18715 WriteLiteralTo(__razor_helper_writer, " <td"); 18716 18717 WriteLiteralTo(__razor_helper_writer, " class=\"u-va-middle matrix-label-field-right dw-mod\""); 18718 18719 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 18720 18721 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-ta-right\""); 18722 18723 WriteLiteralTo(__razor_helper_writer, " data-row-total=\""); 18724 18725 18726 #line 6232 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18727 WriteTo(__razor_helper_writer, variantInfoFirst.GetString("OptionName")); 18728 18729 18730 #line default 18731 #line hidden 18732 WriteLiteralTo(__razor_helper_writer, "\""); 18733 18734 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18735 18736 WriteLiteralTo(__razor_helper_writer, " "); 18737 18738 18739 #line 6233 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18740 WriteTo(__razor_helper_writer, totalRowQuantity); 18741 18742 18743 #line default 18744 #line hidden 18745 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </td>\r\n " + 18746 " <td>&nbsp;</td>\r\n </tr>\r\n"); 18747 18748 18749 #line 6238 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18750 } 18751 18752 18753 #line default 18754 #line hidden 18755 WriteLiteralTo(__razor_helper_writer, " </tbody>\r\n <tfoot>\r\n <tr>\r\n " + 18756 " <td"); 18757 18758 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-va-middle matrix-label-field-left dw-mod\""); 18759 18760 WriteLiteralTo(__razor_helper_writer, ">"); 18761 18762 18763 #line 6242 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18764 WriteTo(__razor_helper_writer, Translate("Totals")); 18765 18766 18767 #line default 18768 #line hidden 18769 WriteLiteralTo(__razor_helper_writer, "</td>\r\n"); 18770 18771 18772 #line 6243 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18773 18774 18775 #line default 18776 #line hidden 18777 18778 #line 6243 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18779 foreach (var item in columnTotals) 18780 { 18781 totalProducts += item.Value; 18782 18783 18784 18785 #line default 18786 #line hidden 18787 WriteLiteralTo(__razor_helper_writer, " <td>\r\n <div"); 18788 18789 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-ta-center u-padding--lg\""); 18790 18791 WriteLiteralTo(__razor_helper_writer, " data-column-total=\""); 18792 18793 18794 #line 6248 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18795 WriteTo(__razor_helper_writer, item.Key); 18796 18797 18798 #line default 18799 #line hidden 18800 WriteLiteralTo(__razor_helper_writer, "\""); 18801 18802 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18803 18804 WriteLiteralTo(__razor_helper_writer, " "); 18805 18806 18807 #line 6249 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18808 WriteTo(__razor_helper_writer, item.Value); 18809 18810 18811 #line default 18812 #line hidden 18813 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </td>\r\n"); 18814 18815 18816 #line 6252 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18817 } 18818 18819 18820 #line default 18821 #line hidden 18822 WriteLiteralTo(__razor_helper_writer, " <td"); 18823 18824 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-va-middle u-ta-right matrix-label-field-right dw-mod\""); 18825 18826 WriteLiteralTo(__razor_helper_writer, " align=\"right\""); 18827 18828 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 18829 18830 WriteLiteralTo(__razor_helper_writer, " class=\"js-total-quantity\""); 18831 18832 WriteLiteralTo(__razor_helper_writer, ">"); 18833 18834 18835 #line 6254 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18836 WriteTo(__razor_helper_writer, totalProducts); 18837 18838 18839 #line default 18840 #line hidden 18841 WriteLiteralTo(__razor_helper_writer, "</div>\r\n </td>\r\n <td"); 18842 18843 WriteLiteralTo(__razor_helper_writer, " class=\"u-bold u-va-middle u-ta-right matrix-label-field-right dw-mod\""); 18844 18845 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 18846 18847 WriteLiteralTo(__razor_helper_writer, " class=\"js-total-price\""); 18848 18849 WriteLiteralTo(__razor_helper_writer, " data-currency-code=\""); 18850 18851 18852 #line 6257 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18853 WriteTo(__razor_helper_writer, currencyCode); 18854 18855 18856 #line default 18857 #line hidden 18858 WriteLiteralTo(__razor_helper_writer, "\""); 18859 18860 WriteLiteralTo(__razor_helper_writer, " data-country-code=\""); 18861 18862 18863 #line 6257 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18864 WriteTo(__razor_helper_writer, countryCode); 18865 18866 18867 #line default 18868 #line hidden 18869 WriteLiteralTo(__razor_helper_writer, "\""); 18870 18871 WriteLiteralTo(__razor_helper_writer, "></div>\r\n </td>\r\n </tr>\r\n <tr>\r\n" + 18872 " <td"); 18873 18874 WriteAttributeTo(__razor_helper_writer, "colspan", Tuple.Create(" colspan=\"", 279206), Tuple.Create("\"", 279235) 18875 18876 #line 6261 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18877 , Tuple.Create(Tuple.Create("", 279216), Tuple.Create<System.Object, System.Int32>(totalColumns + 4 18878 18879 #line default 18880 #line hidden 18881 , 279216), false) 18882 ); 18883 18884 WriteLiteralTo(__razor_helper_writer, " class=\"u-ta-right u-no-padding\""); 18885 18886 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 18887 18888 WriteLiteralTo(__razor_helper_writer, " class=\"u-padding--lg\""); 18889 18890 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 18891 18892 18893 #line 6263 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18894 18895 18896 #line default 18897 #line hidden 18898 18899 #line 6263 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18900 if (actionType == "update") { 18901 18902 18903 #line default 18904 #line hidden 18905 18906 #line 6264 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18907 WriteTo(__razor_helper_writer, Render(new Button { OnClick = "Matrix.UpdateCart(this, '" + pageId + "');", Title = Translate("Update"), ButtonLayout = ButtonLayout.Tertiary, Icon = new Icon { Prefix = useFontAwesomePro ? "fal" : "fas", Name = "fa-redo", LabelPosition = IconLabelPosition.After }, CssClass = "u-no-margin" })); 18908 18909 18910 #line default 18911 #line hidden 18912 18913 #line 6264 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18914 18915 } else { 18916 18917 18918 #line default 18919 #line hidden 18920 18921 #line 6266 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18922 WriteTo(__razor_helper_writer, Render(new Button { OnClick = "Matrix.AddToCart(this, '" + pageId + "');", Title = Translate("Add to cart"), ButtonLayout = ButtonLayout.Tertiary, Icon = new Icon { Name = cartIcon, LabelPosition = IconLabelPosition.After }, CssClass = "u-no-margin" })); 18923 18924 18925 #line default 18926 #line hidden 18927 18928 #line 6266 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18929 18930 } 18931 18932 18933 #line default 18934 #line hidden 18935 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </td>\r\n </tr>\r" + 18936 "\n </tfoot>\r\n </table>\r\n"); 18937 18938 18939 #line 6273 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18940 } 18941 18942 18943 Modal optionColorImage = new Modal { 18944 Id = "OptionColorImage", 18945 BodyTemplate = @Render(new Image { Path = "/Files/Images/placeholder.gif", Id = "OptionColorImageElement", DisableImageEngine = true, DisableLazyLoad = true }), 18946 Width = ModalWidth.Full 18947 }; 18948 18949 18950 18951 #line default 18952 #line hidden 18953 18954 #line 6282 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18955 WriteTo(__razor_helper_writer, Render(optionColorImage)); 18956 18957 18958 #line default 18959 #line hidden 18960 18961 #line 6282 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18962 18963 18964 18965 #line default 18966 #line hidden 18967 }); 18968 18969 #line 6283 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18970 } 18971 #line default 18972 #line hidden 18973 18974 18975 #line 6290 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18976 18977 BlocksPage productSnippetsPage = BlocksPage.GetBlockPage("Product"); 18978 18979 #line default 18980 #line hidden 18981 18982 18983 #line 6305 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18984 public RazorEngine.Templating.TemplateWriter RenderGoogleProductSchema() 18985 { 18986 #line default 18987 #line hidden 18988 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 18989 18990 #line 6306 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 18991 18992 var siteURL = Dynamicweb.Context.Current.Request.Url.Scheme + "://" + Dynamicweb.Context.Current.Request.Url.Host; 18993 var image = GetProductImage(); 18994 var brand = GetString("Ecom:Product:Field.brand.Value"); 18995 var variantid = !string.IsNullOrEmpty(GetString("Ecom:Product.VariantID")) ? GetString("Ecom:Product.VariantID") : GetString("Ecom:Product.VariantID.Extented"); 18996 var url = Dynamicweb.Context.Current.Request.Url.Scheme + "://" + GetGlobalValue("Global:Request.Host") + Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Ecom:Product.LinkGroup.Clean") + (!string.IsNullOrWhiteSpace(variantid) ? "&VariantID=" + variantid : "")); 18997 18998 18999 19000 #line default 19001 #line hidden 19002 WriteLiteralTo(__razor_helper_writer, " <script"); 19003 19004 WriteLiteralTo(__razor_helper_writer, " type=\"application/ld+json\""); 19005 19006 WriteLiteralTo(__razor_helper_writer, ">\r\n {\r\n \""); 19007 19008 WriteLiteralTo(__razor_helper_writer, "@context\": \"http://schema.org/\",\r\n \""); 19009 19010 WriteLiteralTo(__razor_helper_writer, "@type\": \"Product\",\r\n \"name\": \""); 19011 19012 19013 #line 6317 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19014 WriteTo(__razor_helper_writer, GetString("Ecom:Product.Name")); 19015 19016 19017 #line default 19018 #line hidden 19019 WriteLiteralTo(__razor_helper_writer, "\",\r\n"); 19020 19021 19022 #line 6318 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19023 19024 19025 #line default 19026 #line hidden 19027 19028 #line 6318 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19029 if (!string.IsNullOrEmpty(image)) 19030 { 19031 19032 19033 #line default 19034 #line hidden 19035 WriteLiteralTo(__razor_helper_writer, " "); 19036 19037 WriteLiteralTo(__razor_helper_writer, "\"image\": [\r\n \""); 19038 19039 19040 #line 6321 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19041 WriteTo(__razor_helper_writer, siteURL); 19042 19043 19044 #line default 19045 #line hidden 19046 WriteLiteralTo(__razor_helper_writer, "/Admin/Public/GetImage.ashx?width=400&height=400&crop=0&Compression=75&DoNotUpsca" + 19047 "le=true&image="); 19048 19049 19050 #line 6321 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19051 WriteTo(__razor_helper_writer, image); 19052 19053 19054 #line default 19055 #line hidden 19056 WriteLiteralTo(__razor_helper_writer, "\",\r\n \""); 19057 19058 19059 #line 6322 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19060 WriteTo(__razor_helper_writer, siteURL); 19061 19062 19063 #line default 19064 #line hidden 19065 WriteLiteralTo(__razor_helper_writer, "/Admin/Public/GetImage.ashx?width=400&height=300&crop=0&Compression=75&DoNotUpsca" + 19066 "le=true&image="); 19067 19068 19069 #line 6322 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19070 WriteTo(__razor_helper_writer, image); 19071 19072 19073 #line default 19074 #line hidden 19075 WriteLiteralTo(__razor_helper_writer, "\",\r\n \""); 19076 19077 19078 #line 6323 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19079 WriteTo(__razor_helper_writer, siteURL); 19080 19081 19082 #line default 19083 #line hidden 19084 WriteLiteralTo(__razor_helper_writer, "/Admin/Public/GetImage.ashx?width=448&height=225&crop=0&Compression=75&DoNotUpsca" + 19085 "le=true&image="); 19086 19087 19088 #line 6323 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19089 WriteTo(__razor_helper_writer, image); 19090 19091 19092 #line default 19093 #line hidden 19094 WriteLiteralTo(__razor_helper_writer, "\"\r\n ],"); 19095 19096 WriteLiteralTo(__razor_helper_writer, "\r\n"); 19097 19098 19099 #line 6325 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19100 } 19101 19102 19103 #line default 19104 #line hidden 19105 WriteLiteralTo(__razor_helper_writer, " \"description\": \""); 19106 19107 19108 #line 6326 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19109 WriteTo(__razor_helper_writer, GetString("Ecom:Product.ShortDescription")); 19110 19111 19112 #line default 19113 #line hidden 19114 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"mpn\": \"925872\",\r\n"); 19115 19116 19117 #line 6328 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19118 19119 19120 #line default 19121 #line hidden 19122 19123 #line 6328 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19124 if (!string.IsNullOrEmpty(brand)) 19125 { 19126 19127 19128 #line default 19129 #line hidden 19130 WriteLiteralTo(__razor_helper_writer, " "); 19131 19132 WriteLiteralTo(__razor_helper_writer, "\"brand\": {\r\n \""); 19133 19134 WriteLiteralTo(__razor_helper_writer, "@type\": \"Thing\",\r\n \"name\": \""); 19135 19136 19137 #line 6332 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19138 WriteTo(__razor_helper_writer, brand); 19139 19140 19141 #line default 19142 #line hidden 19143 WriteLiteralTo(__razor_helper_writer, "\"\r\n },"); 19144 19145 WriteLiteralTo(__razor_helper_writer, "\r\n"); 19146 19147 19148 #line 6334 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19149 } 19150 19151 19152 #line default 19153 #line hidden 19154 WriteLiteralTo(__razor_helper_writer, " \"offers\": {\r\n \""); 19155 19156 WriteLiteralTo(__razor_helper_writer, "@type\": \"Offer\",\r\n \"priceCurrency\": \""); 19157 19158 19159 #line 6337 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19160 WriteTo(__razor_helper_writer, GetString("Ecom:Product.Price.Currency.Code")); 19161 19162 19163 #line default 19164 #line hidden 19165 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"price\": \""); 19166 19167 19168 #line 6338 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19169 WriteTo(__razor_helper_writer, GetString("Ecom:Product.Price.Price")); 19170 19171 19172 #line default 19173 #line hidden 19174 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"availability\": \""); 19175 19176 19177 #line 6339 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19178 WriteTo(__razor_helper_writer, GetInteger("Ecom:Product.Stock") > 0 ? "InStock" : "OutOfStock"); 19179 19180 19181 #line default 19182 #line hidden 19183 WriteLiteralTo(__razor_helper_writer, "\",\r\n \"url\": \""); 19184 19185 19186 #line 6340 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19187 WriteTo(__razor_helper_writer, url); 19188 19189 19190 #line default 19191 #line hidden 19192 WriteLiteralTo(__razor_helper_writer, "\"\r\n }\r\n }\r\n </script>\r\n"); 19193 19194 19195 #line 6344 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19196 19197 19198 #line default 19199 #line hidden 19200 }); 19201 19202 #line 6344 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19203 } 19204 #line default 19205 #line hidden 19206 19207 19208 #line 6350 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19209 19210 BlocksPage snippetsTemplatesPage = BlocksPage.GetBlockPage("Product"); 19211 19212 #line default 19213 #line hidden 19214 19215 19216 #line 6362 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19217 public RazorEngine.Templating.TemplateWriter RenderFavoritesTemplates() 19218 { 19219 #line default 19220 #line hidden 19221 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 19222 19223 #line 6363 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19224 19225 var useFontAwesomePro = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetBoolean("UseFontAwesomePro"); 19226 var selectedFavoriteIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("FavoriteIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("FavoriteIcon").SelectedValue : "star"; 19227 string favoriteIcon = "fas fa-" + selectedFavoriteIcon; 19228 string favoriteOutlineIcon = (useFontAwesomePro ? "fal" : "far") + " fa-" + selectedFavoriteIcon; 19229 bool useFacebookPixel = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("Settings").GetString("FacebookPixelID")); 19230 string currentFavoriteListId = HttpContext.Current.Request.QueryString.Get("ListID"); 19231 19232 19233 19234 #line default 19235 #line hidden 19236 WriteLiteralTo(__razor_helper_writer, " <script"); 19237 19238 WriteLiteralTo(__razor_helper_writer, " id=\"FavoriteTemplate\""); 19239 19240 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 19241 19242 WriteLiteralTo(__razor_helper_writer, ">\r\n <div class=\"favorites-list u-ta-left js-favorites-list\">\r\n"); 19243 19244 WriteLiteralTo(__razor_helper_writer, " "); 19245 19246 19247 #line 6373 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19248 WriteTo(__razor_helper_writer, Render(new Button { 19249 CssClass = "u-no-margin js-favorite-btn", 19250 Icon = new Icon 19251 { 19252 Name = "{{#if isInAnyFavoriteList}}" + favoriteIcon + "{{else}}" + favoriteOutlineIcon + "{{/if}}", 19253 CssClass = "fa-1_5x", 19254 LabelPosition = IconLabelPosition.After 19255 }, 19256 ButtonLayout = ButtonLayout.LinkClean, 19257 ButtonType = ButtonType.Button, 19258 OnClick = "document.getElementById('FavoriteTrigger_{{id}}').checked = true" 19259 })); 19260 19261 19262 #line default 19263 #line hidden 19264 WriteLiteralTo(__razor_helper_writer, @" 19265 <input type=""checkbox"" id=""FavoriteTrigger_{{id}}"" class=""dropdown-trigger"" /> 19266 <div class=""dropdown dropdown--position-32px""> 19267 <div class=""dropdown__content dropdown__content--show-left dropdown__content--padding u-w220px dw-mod""> 19268 <ul class=""list list--clean dw-mod""> 19269 {{#FavoriteLists}} 19270 {{>FavoriteListItem}} 19271 {{/FavoriteLists}} 19272 </ul> 19273 </div> 19274 <label class=""dropdown-trigger-off"" for=""FavoriteTrigger_{{id}}""></label> 19275 </div> 19276 </div> 19277 </script> 19278 "); 19279 19280 19281 #line 6398 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19282 19283 19284 19285 #line default 19286 #line hidden 19287 WriteLiteralTo(__razor_helper_writer, " <script"); 19288 19289 WriteLiteralTo(__razor_helper_writer, " id=\"FavoriteListItem\""); 19290 19291 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 19292 19293 WriteLiteralTo(__razor_helper_writer, ">\r\n <li>\r\n"); 19294 19295 19296 #line 6401 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19297 19298 19299 #line default 19300 #line hidden 19301 19302 #line 6401 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19303 19304 var button = new Button { 19305 CssClass = "list__link u-no-underline", 19306 OnClick = "toggleFavAction(this, event)", 19307 Icon = new Icon { Name = "{{#if isInFavoriteList}}" + favoriteIcon + "{{else}}" + favoriteOutlineIcon + "{{/if}}", LabelPosition = IconLabelPosition.After }, 19308 AltText = "{{#if isInFavoriteList}}" + Translate("Remove from") + " {{name}}{{else}}" + Translate("Add to") + " {{name}}{{/if}}", 19309 Title = "{{name}}", 19310 ButtonType = ButtonType.Button, 19311 ButtonLayout = ButtonLayout.LinkClean, 19312 ExtraAttributes = new Dictionary<string, string> 19313 { 19314 { "data-list-id", "{{listId}}" }, 19315 { "data-list-name", "{{name}}" }, 19316 { "data-remove-link", "{{removeLink}}" }, 19317 { "data-add-link", "{{addLink}}" }, 19318 { "data-is-in-list", "{{isInFavoriteList}}" }, 19319 19320 } 19321 }; 19322 if (useFacebookPixel) 19323 { 19324 button.ExtraAttributes.Add("data-facebook-object", "{{facebookPixelAddAction}}"); 19325 } 19326 19327 19328 #line default 19329 #line hidden 19330 WriteLiteralTo(__razor_helper_writer, "\r\n <div class=\"grid__cell\">\r\n"); 19331 19332 WriteLiteralTo(__razor_helper_writer, " "); 19333 19334 19335 #line 6426 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19336 WriteTo(__razor_helper_writer, Render(button)); 19337 19338 19339 #line default 19340 #line hidden 19341 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </li>\r\n </script> \r\n"); 19342 19343 19344 #line 6430 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19345 19346 19347 19348 #line default 19349 #line hidden 19350 WriteLiteralTo(__razor_helper_writer, " <script>\r\n"); 19351 19352 19353 #line 6432 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19354 19355 19356 #line default 19357 #line hidden 19358 19359 #line 6432 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19360 if (!string.IsNullOrEmpty(currentFavoriteListId)) 19361 { 19362 19363 19364 #line default 19365 #line hidden 19366 WriteLiteralTo(__razor_helper_writer, " "); 19367 19368 WriteLiteralTo(__razor_helper_writer, "\r\n window.currentFavoriteListId = \""); 19369 19370 19371 #line 6435 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19372 WriteTo(__razor_helper_writer, currentFavoriteListId); 19373 19374 19375 #line default 19376 #line hidden 19377 WriteLiteralTo(__razor_helper_writer, "\";\r\n "); 19378 19379 WriteLiteralTo(__razor_helper_writer, "\r\n"); 19380 19381 19382 #line 6437 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19383 } 19384 19385 19386 #line default 19387 #line hidden 19388 WriteLiteralTo(__razor_helper_writer, " function toggleFavAction(button, event) {\r\n if (button.getAttr" + 19389 "ibute(\'data-add-link\').indexOf(\'CCCreateNewList\') > -1) {\r\n Scrol" + 19390 "l.SavePosition(event);\r\n"); 19391 19392 19393 #line 6441 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19394 19395 19396 #line default 19397 #line hidden 19398 19399 #line 6441 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19400 if (useFacebookPixel) 19401 { 19402 19403 19404 #line default 19405 #line hidden 19406 WriteLiteralTo(__razor_helper_writer, " "); 19407 19408 WriteLiteralTo(__razor_helper_writer, "\r\n fbq(\'track\', \'AddToWishlist\', JSON.parse(button.getAttr" + 19409 "ibute(\'data-facebook-object\')));\r\n "); 19410 19411 WriteLiteralTo(__razor_helper_writer, "\r\n"); 19412 19413 19414 #line 6446 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19415 } 19416 19417 19418 #line default 19419 #line hidden 19420 WriteLiteralTo(__razor_helper_writer, @" location.href = button.getAttribute('data-add-link'); 19421 return; 19422 } 19423 let isAdd = button.getAttribute('data-is-in-list') == ""false""; 19424 Request.Fetch().get( 19425 isAdd ? button.getAttribute('data-add-link') : button.getAttribute('data-remove-link'), 19426 function (result) { 19427 button.querySelector('i').className = isAdd ? '"); 19428 19429 19430 #line 6454 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19431 WriteTo(__razor_helper_writer, favoriteIcon); 19432 19433 19434 #line default 19435 #line hidden 19436 WriteLiteralTo(__razor_helper_writer, " u-margin-right--lg\' : \'"); 19437 19438 19439 #line 6454 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19440 WriteTo(__razor_helper_writer, favoriteOutlineIcon); 19441 19442 19443 #line default 19444 #line hidden 19445 WriteLiteralTo(__razor_helper_writer, " u-margin-right--lg\';\r\n button.setAttribute(\'data-is-in-list\'," + 19446 " isAdd);\r\n button.setAttribute(\'title\', (!isAdd ? \'"); 19447 19448 19449 #line 6456 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19450 WriteTo(__razor_helper_writer, Translate("Add to")); 19451 19452 19453 #line default 19454 #line hidden 19455 WriteLiteralTo(__razor_helper_writer, " \' : \'"); 19456 19457 19458 #line 6456 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19459 WriteTo(__razor_helper_writer, Translate("Remove from")); 19460 19461 19462 #line default 19463 #line hidden 19464 WriteLiteralTo(__razor_helper_writer, @" ') + button.getAttribute('data-list-name')) 19465 let favList = button.closest('.js-favorites-list'); 19466 let favBtn = favList.querySelector('.js-favorite-btn i'); 19467 let isInAnyFavoriteList = favList.querySelector('[data-is-in-list=true]') != null; 19468 if (isInAnyFavoriteList) { 19469 favBtn.className = '"); 19470 19471 19472 #line 6461 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19473 WriteTo(__razor_helper_writer, favoriteIcon); 19474 19475 19476 #line default 19477 #line hidden 19478 WriteLiteralTo(__razor_helper_writer, "\' + \' fa-1_5x\';\r\n } else {\r\n favBtn.cla" + 19479 "ssName = \'"); 19480 19481 19482 #line 6463 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19483 WriteTo(__razor_helper_writer, favoriteOutlineIcon); 19484 19485 19486 #line default 19487 #line hidden 19488 WriteLiteralTo(__razor_helper_writer, "\' + \' fa-1_5x\';\r\n }\r\n"); 19489 19490 19491 #line 6465 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19492 19493 19494 #line default 19495 #line hidden 19496 19497 #line 6465 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19498 if (useFacebookPixel) 19499 { 19500 19501 19502 #line default 19503 #line hidden 19504 WriteLiteralTo(__razor_helper_writer, " "); 19505 19506 WriteLiteralTo(__razor_helper_writer, "\r\n if (isAdd) {\r\n fbq(\'" + 19507 "track\', \'AddToWishlist\', JSON.parse(button.getAttribute(\'data-facebook-object\'))" + 19508 ");\r\n }\r\n "); 19509 19510 WriteLiteralTo(__razor_helper_writer, "\r\n"); 19511 19512 19513 #line 6472 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19514 } 19515 19516 19517 #line default 19518 #line hidden 19519 WriteLiteralTo(__razor_helper_writer, @" if (window.currentFavoriteListId != null) { //if this page is favorite list 19520 let listId = button.getAttribute(""data-list-id""); 19521 if (listId == window.currentFavoriteListId && !isAdd) { 19522 location.reload(); 19523 } 19524 } 19525 }, 19526 function () { 19527 console.error(""FavoriteLists: Error in ToggleFavAction request""); 19528 }, 19529 false 19530 ); 19531 } 19532 </script> 19533 "); 19534 19535 19536 #line 6487 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19537 19538 19539 #line default 19540 #line hidden 19541 }); 19542 19543 #line 6487 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19544 } 19545 #line default 19546 #line hidden 19547 19548 19549 #line 6530 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19550 public RazorEngine.Templating.TemplateWriter RizzoRenderQuantityPrices(List<LoopItem> loopProdPrices, int loopProdPricesCount) 19551 { 19552 #line default 19553 #line hidden 19554 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 19555 19556 #line 6531 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19557 19558 string quantityPricesFormat = Pageview.AreaSettings.GetItem("Rizzo").GetList("QuantityPricesFormat").SelectedValue; 19559 string qtyPrefix = Translate("Qty"); 19560 string greaterThanText = Pageview.AreaSettings.GetItem("Rizzo").GetString("QuantityPricesGreaterThanText").IsNotNullOrEmpty() ? Pageview.AreaSettings.GetItem("Rizzo").GetString("QuantityPricesGreaterThanText") : Translate(" or more"); 19561 int count = 1; 19562 var quantityPriceTable = new Table {Design = TableDesign.NoTopBorder}; 19563 19564 19565 19566 #line default 19567 #line hidden 19568 WriteLiteralTo(__razor_helper_writer, " <div"); 19569 19570 WriteLiteralTo(__razor_helper_writer, " class=\"center-container dw-mod\""); 19571 19572 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 19573 19574 WriteLiteralTo(__razor_helper_writer, " class=\"grid grid--external-bleed-x u-margin-bottom--lg\""); 19575 19576 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 19577 19578 WriteLiteralTo(__razor_helper_writer, " class=\"grid__col-md-12 grid__col-sm-12 grid__col-xs-12\""); 19579 19580 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 19581 19582 19583 #line 6541 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19584 19585 19586 #line default 19587 #line hidden 19588 19589 #line 6541 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19590 foreach (var price in loopProdPrices) 19591 { 19592 int quantity = price.GetInteger("Ecom:Product.Prices.Quantity").Equals(0) ? 1 : price.GetInteger("Ecom:Product.Prices.Quantity"); 19593 string priceProd = price.GetString("Ecom:Product.Prices.PriceWithoutVATFormatted"); 19594 string priceQtyLabel; 19595 19596 switch (quantityPricesFormat) 19597 { 19598 case "GreaterThanSymbol": 19599 priceQtyLabel = string.Concat(qtyPrefix, " ", "&#x2265", " ", quantity); 19600 break; 19601 case "Range": 19602 var nextQty = count < loopProdPricesCount ? loopProdPrices[count].GetInteger("Ecom:Product.Prices.Quantity") : loopProdPrices[count - 1].GetInteger("Ecom:Product.Prices.Quantity"); 19603 priceQtyLabel = quantity == nextQty - 1 ? string.Concat(qtyPrefix, " ", quantity) : quantity != nextQty ? string.Concat(qtyPrefix, " ", quantity, " - ", nextQty - 1) : string.Concat(qtyPrefix, " ", quantity, " ", greaterThanText); 19604 break; 19605 default: 19606 priceQtyLabel = string.Concat(qtyPrefix, " ", quantity, " ", greaterThanText); 19607 break; 19608 } 19609 19610 quantityPriceTable.Rows.Add(new TableRow( 19611 new TableCell {Content = priceQtyLabel, IsHeader = true}, 19612 new TableCell {Content = priceProd} 19613 )); 19614 19615 count++; 19616 } 19617 19618 19619 #line default 19620 #line hidden 19621 WriteLiteralTo(__razor_helper_writer, " "); 19622 19623 19624 #line 6568 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19625 WriteTo(__razor_helper_writer, Render(quantityPriceTable)); 19626 19627 19628 #line default 19629 #line hidden 19630 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </div>\r\n </div>\r\n"); 19631 19632 19633 #line 6572 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19634 19635 19636 #line default 19637 #line hidden 19638 }); 19639 19640 #line 6572 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19641 } 19642 #line default 19643 #line hidden 19644 19645 19646 #line 6579 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19647 19648 19649 static Modal stockValidationWarningModal = new Modal 19650 { 19651 Id = "StockValidationWarning", 19652 Width = ModalWidth.Lg 19653 }; 19654 private static Block GetStockValidationModal() 19655 { 19656 return new Block 19657 { 19658 Id = "StockValidationWarningModal", 19659 SortId = 1, 19660 Component = stockValidationWarningModal 19661 }; 19662 } 19663 19664 19665 #line default 19666 #line hidden 19667 19668 19669 #line 6602 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19670 public RazorEngine.Templating.TemplateWriter RenderWarningWindow() 19671 { 19672 #line default 19673 #line hidden 19674 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 19675 19676 #line 6603 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19677 19678 var orderNotFound = Translate("Order not found."); 19679 var unavailableProduct = Translate("{{ProductName}} ({{ProductNumber}}) is not available."); 19680 var insufficientStock = Translate("There are only {{AvailableAmount}} items in stock instead of the {{RequestedAmount}} you requested for {{ProductName}} ({{ProductNumber}})."); 19681 var insufficientStockSingular = Translate("There is only {{AvailableAmount}} item in stock instead of the {{RequestedAmount}} you requested for {{ProductName}} ({{ProductNumber}})."); 19682 var noMoreStock = Translate("There is no more available stock for {{ProductName}} ({{ProductNumber}})."); 19683 var missingVariantCombination = Translate("{{ProductName}} ({{ProductNumber}}) requires additional information before adding to the cart."); 19684 19685 19686 19687 #line default 19688 #line hidden 19689 WriteLiteralTo(__razor_helper_writer, " <p"); 19690 19691 WriteLiteralTo(__razor_helper_writer, " id=\"stockValidationWarningMessage\""); 19692 19693 WriteLiteralTo(__razor_helper_writer, " data-order-not-found=\""); 19694 19695 19696 #line 6611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19697 WriteTo(__razor_helper_writer, orderNotFound); 19698 19699 19700 #line default 19701 #line hidden 19702 WriteLiteralTo(__razor_helper_writer, "\""); 19703 19704 WriteLiteralTo(__razor_helper_writer, " data-unavailable-product=\""); 19705 19706 19707 #line 6611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19708 WriteTo(__razor_helper_writer, unavailableProduct); 19709 19710 19711 #line default 19712 #line hidden 19713 WriteLiteralTo(__razor_helper_writer, "\""); 19714 19715 WriteLiteralTo(__razor_helper_writer, " data-insufficient-stock=\""); 19716 19717 19718 #line 6611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19719 WriteTo(__razor_helper_writer, insufficientStock); 19720 19721 19722 #line default 19723 #line hidden 19724 WriteLiteralTo(__razor_helper_writer, "\""); 19725 19726 WriteLiteralTo(__razor_helper_writer, " data-insufficient-stock-singular=\""); 19727 19728 19729 #line 6611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19730 WriteTo(__razor_helper_writer, insufficientStockSingular); 19731 19732 19733 #line default 19734 #line hidden 19735 WriteLiteralTo(__razor_helper_writer, "\""); 19736 19737 WriteLiteralTo(__razor_helper_writer, " data-no-more-stock=\""); 19738 19739 19740 #line 6611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19741 WriteTo(__razor_helper_writer, noMoreStock); 19742 19743 19744 #line default 19745 #line hidden 19746 WriteLiteralTo(__razor_helper_writer, "\""); 19747 19748 WriteLiteralTo(__razor_helper_writer, " data-missing-variant-combination=\""); 19749 19750 19751 #line 6611 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19752 WriteTo(__razor_helper_writer, missingVariantCombination); 19753 19754 19755 #line default 19756 #line hidden 19757 WriteLiteralTo(__razor_helper_writer, "\""); 19758 19759 WriteLiteralTo(__razor_helper_writer, "></p>\r\n"); 19760 19761 19762 #line 6612 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19763 19764 19765 19766 #line default 19767 #line hidden 19768 19769 #line 6613 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19770 19771 // Oct 22: Still bugged 19772 19773 19774 #line default 19775 #line hidden 19776 WriteLiteralTo(__razor_helper_writer, " <div"); 19777 19778 WriteLiteralTo(__razor_helper_writer, " class=\"u-ta-right\""); 19779 19780 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 19781 19782 WriteLiteralTo(__razor_helper_writer, " "); 19783 19784 19785 #line 6616 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19786 WriteTo(__razor_helper_writer, Render(new Button 19787 { 19788 ButtonLayout = ButtonLayout.Primary, 19789 CssClass = "u-margin-top", 19790 Id = "OkButton", 19791 Title = Translate("Ok"), 19792 OnClick = "toggleWindowModal(document.getElementById('StockValidationWarningModalTrigger'))", 19793 ExtraAttributes = 19794 { 19795 {"data-continue", Translate("Add items in stock")}, 19796 {"data-ok", Translate("Ok")} 19797 } 19798 })); 19799 19800 19801 #line default 19802 #line hidden 19803 WriteLiteralTo(__razor_helper_writer, "\r\n \r\n"); 19804 19805 WriteLiteralTo(__razor_helper_writer, " "); 19806 19807 19808 #line 6630 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19809 WriteTo(__razor_helper_writer, Render(new Button 19810 { 19811 ButtonLayout = ButtonLayout.Secondary, 19812 CssClass = "u-margin-top u-hidden", 19813 Id = "CancelButton", 19814 Title = Translate("Cancel"), 19815 OnClick = "toggleWindowModal(document.getElementById('StockValidationWarningModalTrigger'))" 19816 })); 19817 19818 19819 #line default 19820 #line hidden 19821 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 19822 19823 19824 #line 6639 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19825 19826 19827 #line default 19828 #line hidden 19829 }); 19830 19831 #line 6639 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19832 } 19833 #line default 19834 #line hidden 19835 19836 19837 #line 6650 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19838 19839 public AddToCartWithQuote GetAddToCartWithQuoteButton(bool hideButtonText, bool pointShopOnly, string wrapperClass = "") 19840 { 19841 return new AddToCartWithQuote 19842 { 19843 WrapperCssClass = wrapperClass, 19844 AddButton = new AddToCartButton //Add to cart button 19845 { 19846 HideTitle = hideButtonText, 19847 ProductId = "{{productId}}", 19848 VariantId = "{{variantid}}", 19849 UnitId = "{{unitId}}", 19850 ProductInfo = "{{productInfo}}", 19851 BuyForPoints = pointShopOnly, 19852 OnClick = "{{facebookPixelAction}}", 19853 ExtraAttributes = {{"{{disabledBuyButton}}", ""}}, 19854 CssClass = "{{#unless isAddToCart}}u-hidden{{/unless}}" 19855 }, 19856 UnitSelector = new UnitSelector //Unit Selector 19857 { 19858 OptionsContent = "{{#unitOptions}}{{>UnitOption}}{{/unitOptions}}", 19859 Id = "UnitOptions_{{id}}", 19860 SelectedOption = "{{unitName}}", 19861 CssClass = "{{#if hasOnlyOneUnit}}unit-selector--readonly{{/if}} {{hasUnits}} {{#unless isAddToCart}}u-hidden{{/unless}}" 19862 }, 19863 AddToQuoteButton = new AddToCartButtonWithCartContext //Add to quote button 19864 { 19865 HideTitle = hideButtonText, 19866 ProductId = "{{productId}}", 19867 VariantId = "{{variantid}}", 19868 UnitId = "{{unitId}}", 19869 ProductInfo = "{{productInfo}}", 19870 BuyForPoints = pointShopOnly, 19871 OnClick = "{{facebookPixelAction}}", 19872 ExtraAttributes = {{"{{disabledBuyButton}}", ""}}, 19873 Title = Translate("Add to quote"), 19874 CssClass = "{{#unless isQuotable}}u-hidden{{/unless}}", 19875 Icon = new Icon { Prefix = "far", Name = "fa-shopping-bag", LabelPosition = IconLabelPosition.After}, 19876 CartContextId = Pageview.AreaSettings.GetItem("Custom").GetList("QuoteOrderContextID").SelectedValue, 19877 CartId = GetPageIdByNavigationTag("QuotesMiniCartFeed").ToString(), 19878 CartContainerId = "quotesMiniCart" 19879 }, 19880 ExtraButton = new Button //Email/Call to order button 19881 { 19882 Title = hideButtonText ? "" : Translate("Call to order"), 19883 Icon = new Icon { Prefix = "far", Name = Translate("callToOrderIcon", "fa-phone"), LabelPosition = IconLabelPosition.After }, 19884 ButtonLayout = ButtonLayout.Primary, 19885 ButtonType = ButtonType.Button, 19886 CssClass = "btn--condensed {{#unless isCallToOrder}}u-hidden{{/unless}}", 19887 ConfirmText = Pageview.User != null ? Translate("Call Kiesler at ###-###-#### to inquire about ordering") : "", 19888 ConfirmTitle = Pageview.User != null ? Translate("Call to order") : "", 19889 Href = Pageview.User != null ? "javascript:void(0);" : Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetPageIdByNavigationTag("CreateAccount")) 19890 } 19891 }; 19892 } 19893 19894 #line default 19895 #line hidden 19896 19897 19898 #line 6722 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19899 public RazorEngine.Templating.TemplateWriter RenderMainInfoBuyCustom() 19900 { 19901 #line default 19902 #line hidden 19903 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 19904 19905 #line 6723 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19906 19907 string pageId = GetGlobalValue("Global:Page.ID").ToString(); 19908 string variantId = HttpContext.Current.Request.QueryString.Get("variantId"); 19909 string productId = GetString("Ecom:Product.ID"); 19910 string feedId = pageId + "&ProductID=" + productId + "&VariantID=" + variantId + "&Feed=True&redirect=false"; 19911 19912 19913 19914 #line default 19915 #line hidden 19916 WriteLiteralTo(__razor_helper_writer, " <div"); 19917 19918 WriteLiteralTo(__razor_helper_writer, " class=\"product__price-actions js-handlebars-root dw-mod\""); 19919 19920 WriteLiteralTo(__razor_helper_writer, " id=\"PriceAndActions\""); 19921 19922 WriteLiteralTo(__razor_helper_writer, " data-template=\"PricesAndActionsTemplate\""); 19923 19924 WriteLiteralTo(__razor_helper_writer, " data-json-feed=\"/Default.aspx?ID="); 19925 19926 19927 #line 6729 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19928 WriteTo(__razor_helper_writer, feedId); 19929 19930 19931 #line default 19932 #line hidden 19933 WriteLiteralTo(__razor_helper_writer, "\""); 19934 19935 WriteLiteralTo(__razor_helper_writer, " data-preloader=\"minimal\""); 19936 19937 WriteLiteralTo(__razor_helper_writer, "></div>\r\n"); 19938 19939 WriteLiteralTo(__razor_helper_writer, " <input"); 19940 19941 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 19942 19943 WriteAttributeTo(__razor_helper_writer, "value", Tuple.Create(" value=\"", 302630), Tuple.Create("\"", 302683) 19944 19945 #line 6730 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19946 , Tuple.Create(Tuple.Create("", 302638), Tuple.Create<System.Object, System.Int32>(GetString("Ecom:Product.VariantID.Extented") 19947 19948 #line default 19949 #line hidden 19950 , 302638), false) 19951 ); 19952 19953 WriteLiteralTo(__razor_helper_writer, " name=\"Variant\""); 19954 19955 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 302699), Tuple.Create("\"", 302741) 19956 , Tuple.Create(Tuple.Create("", 302704), Tuple.Create("Variant_", 302704), true) 19957 19958 #line 6730 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19959 , Tuple.Create(Tuple.Create("", 302712), Tuple.Create<System.Object, System.Int32>(GetString("Ecom:Product.ID") 19960 19961 #line default 19962 #line hidden 19963 , 302712), false) 19964 ); 19965 19966 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 19967 19968 19969 #line 6731 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19970 19971 // START CUSTOM CODE: Replacing Rapido template to custom template 19972 19973 19974 #line default 19975 #line hidden 19976 19977 #line 6733 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19978 WriteTo(__razor_helper_writer, RenderMainInfoBuyScriptsCustom()); 19979 19980 19981 #line default 19982 #line hidden 19983 19984 #line 6733 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19985 19986 // END CUSTOM CODE 19987 19988 19989 #line default 19990 #line hidden 19991 }); 19992 19993 #line 6735 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 19994 } 19995 #line default 19996 #line hidden 19997 19998 19999 #line 6737 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20000 public RazorEngine.Templating.TemplateWriter RenderMainInfoBuyScriptsCustom() 20001 { 20002 #line default 20003 #line hidden 20004 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 20005 20006 #line 6738 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20007 20008 bool showPrice = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HidePrice"); 20009 bool showCartButton = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideAddToCartButton"); 20010 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 20011 string variantId = HttpContext.Current.Request.QueryString.Get("variantId") ?? ""; 20012 string feedId = GetGlobalValue("Global:Page.ID").ToString() + "&ProductID=" + GetString("Ecom:Product.ID") + "&VariantID=" + variantId + "&Feed=True&redirect=false"; 20013 string cartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 20014 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("ShowBothPricesWithWithoutVAT"); 20015 bool isPricesWithVATEnabled = Converter.ToBoolean(Pageview.Area.EcomPricesWithVat); 20016 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 20017 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 20018 20019 20020 20021 #line default 20022 #line hidden 20023 20024 #line 6750 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20025 20026 20027 20028 #line default 20029 #line hidden 20030 WriteLiteralTo(__razor_helper_writer, " <script"); 20031 20032 WriteLiteralTo(__razor_helper_writer, " id=\"PricesAndActionsTemplate\""); 20033 20034 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20035 20036 WriteLiteralTo(__razor_helper_writer, ">\r\n {{#.}}\r\n {{#if isLiveProductInfoActive}}\r\n {{#unless isLiveP" + 20037 "roductInfoRequested}}\r\n {{getLiveProductInfo \'PriceAndActions\'}}\r\n " + 20038 " {{/unless}}\r\n {{/if}}\r\n \r\n "); 20039 20040 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20041 20042 20043 #line 6760 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20044 20045 20046 #line default 20047 #line hidden 20048 20049 #line 6760 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20050 if (Dna.Kiesler.Users.IsPricesAllowed()) 20051 { 20052 20053 20054 #line default 20055 #line hidden 20056 WriteLiteralTo(__razor_helper_writer, " <div"); 20057 20058 WriteLiteralTo(__razor_helper_writer, " class=\"product__price-wrap dw-mod\""); 20059 20060 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 20061 20062 WriteLiteralTo(__razor_helper_writer, " "); 20063 20064 20065 #line 6763 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20066 WriteTo(__razor_helper_writer, RenderPriceInfoCustom()); 20067 20068 20069 #line default 20070 #line hidden 20071 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 20072 20073 20074 #line 6765 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20075 } 20076 20077 20078 #line default 20079 #line hidden 20080 20081 #line 6766 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20082 20083 20084 20085 20086 #line default 20087 #line hidden 20088 20089 #line 6768 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20090 20091 20092 20093 #line default 20094 #line hidden 20095 WriteLiteralTo(__razor_helper_writer, " "); 20096 20097 20098 #line 6769 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20099 if (showCartButton) 20100 { 20101 //Replacing AddToCart component with AddToCartWithQuote component 20102 var addToCartBtn = GetAddToCartWithQuoteButton(false, pointShopOnly, "product__price-actions-flex-wrap buttons-collection--right dw-mod"); 20103 //END CUSTOM CODE 20104 20105 if (!pointShopOnly) 20106 { 20107 addToCartBtn.QuantitySelector = new QuantitySelector 20108 { 20109 Id = "Quantity_{{id}}", 20110 CssClass = "{{#unless isAddToCart}}u-hidden{{/unless}}" 20111 }; 20112 } 20113 20114 20115 20116 #line default 20117 #line hidden 20118 WriteLiteralTo(__razor_helper_writer, " <div"); 20119 20120 WriteLiteralTo(__razor_helper_writer, " class=\"product__price-actions-wrap dw-mod\""); 20121 20122 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 20123 20124 WriteLiteralTo(__razor_helper_writer, " "); 20125 20126 20127 #line 6785 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20128 WriteTo(__razor_helper_writer, Render(addToCartBtn)); 20129 20130 20131 #line default 20132 #line hidden 20133 WriteLiteralTo(__razor_helper_writer, "\r\n \r\n"); 20134 20135 20136 #line 6787 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20137 20138 20139 #line default 20140 #line hidden 20141 20142 #line 6787 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20143 if (Pageview.User != null && !pointShopOnly && Dynamicweb.Security.Licensing.LicenseManager.LicenseHasFeature("LoyaltyPoints")) 20144 { 20145 20146 20147 #line default 20148 #line hidden 20149 WriteLiteralTo(__razor_helper_writer, " "); 20150 20151 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if canBePurchasedWithPoints}}\r\n " + 20152 " <form"); 20153 20154 WriteLiteralTo(__razor_helper_writer, " method=\"post\""); 20155 20156 WriteLiteralTo(__razor_helper_writer, " role=\"form\""); 20157 20158 WriteLiteralTo(__razor_helper_writer, " class=\"u-no-margin u-margin-top\""); 20159 20160 WriteLiteralTo(__razor_helper_writer, ">\r\n <input"); 20161 20162 WriteLiteralTo(__razor_helper_writer, " type=\"hidden\""); 20163 20164 WriteLiteralTo(__razor_helper_writer, " name=\"ProductID\""); 20165 20166 WriteLiteralTo(__razor_helper_writer, " value=\"{{id}}\""); 20167 20168 WriteLiteralTo(__razor_helper_writer, " />\r\n <button"); 20169 20170 WriteLiteralTo(__razor_helper_writer, " type=\"submit\""); 20171 20172 WriteLiteralTo(__razor_helper_writer, " class=\"btn btn--loyalty-points product__price-points-buy-button u-no-margin dw-m" + 20173 "od pull-right u-no-margin js-cart-btn {{disabledBuyButton}}\""); 20174 20175 WriteLiteralTo(__razor_helper_writer, " name=\"CartCmd\""); 20176 20177 WriteLiteralTo(__razor_helper_writer, " value=\"addWithPoints\""); 20178 20179 WriteLiteralTo(__razor_helper_writer, ">"); 20180 20181 20182 #line 6793 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20183 WriteTo(__razor_helper_writer, Translate("Buy for")); 20184 20185 20186 #line default 20187 #line hidden 20188 WriteLiteralTo(__razor_helper_writer, " {{points}} "); 20189 20190 20191 #line 6793 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20192 WriteTo(__razor_helper_writer, Translate("points")); 20193 20194 20195 #line default 20196 #line hidden 20197 WriteLiteralTo(__razor_helper_writer, "</button>\r\n </form>\r\n {{/if}}\r\n" + 20198 " "); 20199 20200 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20201 20202 20203 #line 6797 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20204 } 20205 20206 20207 #line default 20208 #line hidden 20209 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 20210 20211 20212 #line 6799 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20213 } 20214 else 20215 { 20216 20217 20218 #line default 20219 #line hidden 20220 WriteLiteralTo(__razor_helper_writer, " <button"); 20221 20222 WriteLiteralTo(__razor_helper_writer, " type=\"button\""); 20223 20224 WriteLiteralTo(__razor_helper_writer, " id=\"CartButton_{{id}}\""); 20225 20226 WriteLiteralTo(__razor_helper_writer, " class=\"u-hidden\""); 20227 20228 WriteLiteralTo(__razor_helper_writer, "></button>\r\n"); 20229 20230 20231 #line 6803 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20232 } 20233 20234 20235 #line default 20236 #line hidden 20237 WriteLiteralTo(__razor_helper_writer, " "); 20238 20239 20240 #line 6804 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20241 WriteTo(__razor_helper_writer, RenderStockAndShipping()); 20242 20243 20244 #line default 20245 #line hidden 20246 WriteLiteralTo(__razor_helper_writer, "\r\n {{/.}}\r\n </script>\r\n"); 20247 20248 20249 #line 6807 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20250 20251 20252 20253 #line default 20254 #line hidden 20255 WriteLiteralTo(__razor_helper_writer, " <script"); 20256 20257 WriteLiteralTo(__razor_helper_writer, " id=\"UnitOption\""); 20258 20259 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20260 20261 WriteLiteralTo(__razor_helper_writer, ">\r\n <div class=\"dropdown__item dw-mod\" onclick=\"HandlebarsBolt.UpdateConte" + 20262 "nt(\'PriceAndActions\', \'{{link}}&feed=true&UnitID={{value}}"); 20263 20264 20265 #line 6809 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20266 WriteTo(__razor_helper_writer, liveProductInfoParameter); 20267 20268 20269 #line default 20270 #line hidden 20271 WriteLiteralTo(__razor_helper_writer, "\')\">{{name}}</div>\r\n </script>\r\n"); 20272 20273 20274 #line 6811 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20275 20276 20277 20278 #line default 20279 #line hidden 20280 WriteLiteralTo(__razor_helper_writer, @" <script> 20281 document.addEventListener(""DOMContentLoaded"", function () { 20282 if (document.getElementById(""PriceAndActions"")) { 20283 document.getElementById(""PriceAndActions"").addEventListener(""contentLoaded"", function (event) { 20284 if (document.querySelector("".js-variants"") != null) { 20285 MatchVariants.Update(document.querySelector("".js-variants""), ""DoNothing""); 20286 } 20287 }); 20288 } 20289 }); 20290 </script> 20291 "); 20292 20293 20294 #line 6823 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20295 20296 20297 #line default 20298 #line hidden 20299 }); 20300 20301 #line 6823 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20302 } 20303 #line default 20304 #line hidden 20305 20306 20307 #line 6825 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20308 public RazorEngine.Templating.TemplateWriter RenderVariantListScriptsCustom() 20309 { 20310 #line default 20311 #line hidden 20312 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 20313 20314 #line 6826 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20315 20316 bool showProductNumberForVariants = !Converter.ToBoolean(variantListSettings["HideProductNumbers"]); 20317 bool showImageForEachVariant = !Converter.ToBoolean(variantListSettings["HideImage"]); 20318 bool variantsPointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 20319 string variantsListPageSize = HttpContext.Current.Request.QueryString.Get("PageSize") ?? "30"; 20320 string variantsFeedUrl = "/Default.aspx?ID=" + GetPageIdByNavigationTag("ProductsPage") + "&PageSize=" + variantsListPageSize + "&MainProductID=" + GetString("Ecom:Product.ID") + "&OnlyShowVariants=true&feed=true"; 20321 string variantsCartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 20322 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 20323 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 20324 20325 20326 20327 #line default 20328 #line hidden 20329 WriteLiteralTo(__razor_helper_writer, " <script"); 20330 20331 WriteLiteralTo(__razor_helper_writer, " id=\"VariantProductsContainer\""); 20332 20333 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20334 20335 WriteLiteralTo(__razor_helper_writer, ">\r\n {{#.}}\r\n <div>\r\n <table id=\"VariantsProducts" + 20336 "Container\" class=\"table u-position-relative dw-mod\">\r\n <thead" + 20337 ">\r\n <tr>\r\n"); 20338 20339 20340 #line 6842 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20341 20342 20343 #line default 20344 #line hidden 20345 20346 #line 6842 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20347 if (showImageForEachVariant) 20348 { 20349 20350 20351 #line default 20352 #line hidden 20353 WriteLiteralTo(__razor_helper_writer, " <td"); 20354 20355 WriteLiteralTo(__razor_helper_writer, " width=\"75\""); 20356 20357 WriteLiteralTo(__razor_helper_writer, ">&nbsp;</td>\r\n"); 20358 20359 20360 #line 6845 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20361 } 20362 20363 20364 #line default 20365 #line hidden 20366 WriteLiteralTo(__razor_helper_writer, " <td>"); 20367 20368 20369 #line 6846 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20370 WriteTo(__razor_helper_writer, Translate("Product")); 20371 20372 20373 #line default 20374 #line hidden 20375 WriteLiteralTo(__razor_helper_writer, "</td>\r\n {{#AvailableCustomFields}}\r\n\t\t\t\t " + 20376 " {{>TableFieldNameTemplate}}\r\n\t\t\t {{/AvailableCustomFields}}\r\n"); 20377 20378 20379 #line 6850 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20380 20381 20382 #line default 20383 #line hidden 20384 20385 #line 6850 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20386 if (Converter.ToBoolean(variantListSettings["RenderVariantGroupsInTable"])) { 20387 foreach (LoopItem variantgroup in GetLoop("VariantGroups")) 20388 { 20389 20390 20391 #line default 20392 #line hidden 20393 WriteLiteralTo(__razor_helper_writer, " <td>"); 20394 20395 20396 #line 6853 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20397 WriteTo(__razor_helper_writer, variantgroup.GetString("Ecom:VariantGroup.Name")); 20398 20399 20400 #line default 20401 #line hidden 20402 WriteLiteralTo(__razor_helper_writer, "</td>\r\n"); 20403 20404 20405 #line 6854 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20406 } 20407 } 20408 20409 20410 #line default 20411 #line hidden 20412 WriteLiteralTo(__razor_helper_writer, @" <td>&nbsp;</td> 20413 </tr> 20414 </thead> 20415 20416 <tbody id=""VariantProductListContainer"" data-template=""VariantProductItemContainer"" data-save-cookie=""true""> 20417 {{#ProductsContainer}} 20418 {{>VariantProductItemContainer}} 20419 {{/ProductsContainer}} 20420 </tbody> 20421 </table> 20422 </div> 20423 20424 <div class=""grid""> 20425 <div class=""grid__col-12 grid__col--bleed-y""> 20426 "); 20427 20428 20429 #line 6870 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20430 20431 20432 #line default 20433 #line hidden 20434 20435 #line 6870 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20436 20437 Button moreButton = new Button { Id = "LoadMoreButton", ButtonLayout = ButtonLayout.Primary, CssClass = "btn--full {{nextdisabled}}", Title = Translate("Load") + " " + Translate("more"), OnClick = "LoadMore.Next(this)" }; 20438 moreButton.ExtraAttributes.Add("data-current", "{{currentPage}}"); 20439 moreButton.ExtraAttributes.Add("data-page-size", "{{pageSize}}"); 20440 moreButton.ExtraAttributes.Add("data-total", "{{totalPages}}"); 20441 moreButton.ExtraAttributes.Add("data-container", "VariantProductListContainer"); 20442 moreButton.ExtraAttributes.Add("data-feed-url", variantsFeedUrl + "{{loadMoreFeedParams}}"); 20443 moreButton.ExtraAttributes.Add("", "{{nextdisabled}}"); 20444 20445 20446 #line default 20447 #line hidden 20448 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20449 20450 WriteLiteralTo(__razor_helper_writer, " "); 20451 20452 20453 #line 6879 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20454 WriteTo(__razor_helper_writer, Render(moreButton)); 20455 20456 20457 #line default 20458 #line hidden 20459 WriteLiteralTo(__razor_helper_writer, "\r\n\t\t\t </div>\r\n\t\t </div>\r\n {{/.}}\r\n </script>\r\n"); 20460 20461 20462 #line 6884 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20463 20464 20465 20466 #line default 20467 #line hidden 20468 WriteLiteralTo(__razor_helper_writer, " <script"); 20469 20470 WriteLiteralTo(__razor_helper_writer, " id=\"VariantProductItemContainer\""); 20471 20472 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20473 20474 WriteLiteralTo(__razor_helper_writer, @"> 20475 {{#.}} 20476 <tr id=""VariantProduct{{id}}"" class=""js-product"" data-template=""VariantProductItem"" data-preloader=""overlay"" style=""z-index: {{zIndex}}""> 20477 {{#Product}} 20478 {{>VariantProductItem}} 20479 {{/Product}} 20480 </tr> 20481 {{/.}} 20482 </script> 20483 "); 20484 20485 20486 #line 6894 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20487 20488 20489 20490 #line default 20491 #line hidden 20492 WriteLiteralTo(__razor_helper_writer, " <script"); 20493 20494 WriteLiteralTo(__razor_helper_writer, " id=\"VariantProductItem\""); 20495 20496 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20497 20498 WriteLiteralTo(__razor_helper_writer, ">\r\n\t {{#.}}\r\n"); 20499 20500 20501 #line 6897 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20502 20503 20504 #line default 20505 #line hidden 20506 20507 #line 6897 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20508 if (showImageForEachVariant) 20509 { 20510 20511 20512 #line default 20513 #line hidden 20514 WriteLiteralTo(__razor_helper_writer, " <td"); 20515 20516 WriteLiteralTo(__razor_helper_writer, " width=\"75\""); 20517 20518 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 20519 20520 WriteLiteralTo(__razor_helper_writer, " class=\"lightbox u-hidden-xxs\""); 20521 20522 WriteLiteralTo(__razor_helper_writer, ">\r\n <a"); 20523 20524 WriteLiteralTo(__razor_helper_writer, " href=\"{{link}}\""); 20525 20526 WriteLiteralTo(__razor_helper_writer, " onclick=\"Scroll.SavePosition(event)\""); 20527 20528 WriteLiteralTo(__razor_helper_writer, " title=\"{{name}}{{#if variantName}}, {{variantName}}{{/if}}\""); 20529 20530 WriteLiteralTo(__razor_helper_writer, ">\r\n <img"); 20531 20532 WriteLiteralTo(__razor_helper_writer, " class=\"lightbox__image {{noImage}}\""); 20533 20534 WriteLiteralTo(__razor_helper_writer, " src=\"/Admin/Public/GetImage.ashx?width=220&amp;height=220&amp;crop=5&amp;Compres" + 20535 "sion=75&amp;image={{image}}\""); 20536 20537 WriteLiteralTo(__razor_helper_writer, " alt=\"{{name}}{{#if variantName}}, {{variantName}}{{/if}}\""); 20538 20539 WriteLiteralTo(__razor_helper_writer, " />\r\n <div"); 20540 20541 WriteLiteralTo(__razor_helper_writer, " class=\"u-margin-right {{noImage}}\""); 20542 20543 WriteLiteralTo(__razor_helper_writer, ">\r\n <img"); 20544 20545 WriteLiteralTo(__razor_helper_writer, " src=\"/Admin/Public/GetImage.ashx?width=75&amp;height=55&amp;crop=5&FillCanvas=tr" + 20546 "ue&amp;Compression=75&amp;image={{image}}\""); 20547 20548 WriteLiteralTo(__razor_helper_writer, " alt=\"{{name}}{{#if variantName}}, {{variantName}}{{/if}}\""); 20549 20550 WriteLiteralTo(__razor_helper_writer, " />\r\n </div>\r\n </a>\r\n " + 20551 " </div>\r\n </td>\r\n"); 20552 20553 20554 #line 6909 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20555 } 20556 20557 20558 #line default 20559 #line hidden 20560 WriteLiteralTo(__razor_helper_writer, @" 20561 <td class=""u-va-middle""> 20562 <a href=""{{link}}"" onclick=""Scroll.SavePosition(event)"" title=""{{name}}{{#if variantName}}, {{variantName}}{{/if}}""> 20563 <h6 class=""u-no-margin"">{{name}}{{#if variantName}}, {{variantName}}{{/if}}</h6> 20564 </a> 20565 "); 20566 20567 20568 #line 6915 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20569 20570 20571 #line default 20572 #line hidden 20573 20574 #line 6915 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20575 if (showProductNumberForVariants) 20576 { 20577 20578 20579 #line default 20580 #line hidden 20581 WriteLiteralTo(__razor_helper_writer, " <div"); 20582 20583 WriteLiteralTo(__razor_helper_writer, " class=\"item-number item-number--compressed u-margin-bottom dw-mod\""); 20584 20585 WriteLiteralTo(__razor_helper_writer, ">\r\n <div>{{number}}</div>\r\n </div>\r\n"); 20586 20587 20588 #line 6920 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20589 } 20590 20591 20592 #line default 20593 #line hidden 20594 WriteLiteralTo(__razor_helper_writer, "\t\t\t "); 20595 20596 20597 #line 6921 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20598 if (User.IsStockInfoAllowed()) 20599 { 20600 20601 20602 #line default 20603 #line hidden 20604 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t "); 20605 20606 WriteLiteralTo(__razor_helper_writer, "{{#if stockText}}"); 20607 20608 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20609 20610 WriteLiteralTo(__razor_helper_writer, " <div"); 20611 20612 WriteLiteralTo(__razor_helper_writer, " class=\"item-number item-number--compressed dw-mod\""); 20613 20614 WriteLiteralTo(__razor_helper_writer, ">\r\n <span>\r\n <span"); 20615 20616 WriteLiteralTo(__razor_helper_writer, " class=\"stock-icon {{stockState}} u-no-margin dw-mod\""); 20617 20618 WriteLiteralTo(__razor_helper_writer, " title=\"{{stockText}}\""); 20619 20620 WriteLiteralTo(__razor_helper_writer, "></span>\r\n <span"); 20621 20622 WriteLiteralTo(__razor_helper_writer, " class=\"u-margin-right--lg\""); 20623 20624 WriteLiteralTo(__razor_helper_writer, "> {{stockText}}</span>\r\n {{deliveryText}}\r\n " + 20625 " </span>\r\n </div>\r\n"); 20626 20627 WriteLiteralTo(__razor_helper_writer, " "); 20628 20629 WriteLiteralTo(__razor_helper_writer, "{{/if}}"); 20630 20631 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20632 20633 20634 #line 6932 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20635 } 20636 else 20637 { 20638 20639 20640 #line default 20641 #line hidden 20642 WriteLiteralTo(__razor_helper_writer, " <div"); 20643 20644 WriteLiteralTo(__razor_helper_writer, " class=\"grid__cell-footer stickers-container stickers-container--block dw-mod\""); 20645 20646 WriteLiteralTo(__razor_helper_writer, ">\r\n {{#Stickers}}\r\n {{>MiniStic" + 20647 "ker}}\r\n {{/Stickers}}\r\n </div>\r\n"); 20648 20649 20650 #line 6940 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20651 } 20652 20653 20654 #line default 20655 #line hidden 20656 WriteLiteralTo(__razor_helper_writer, " </td> \r\n {{#CustomFields}}\r\n\t\t {{>TableFieldValueTem" + 20657 "plate}}\r\n\t\t {{/CustomFields}}\r\n"); 20658 20659 20660 #line 6945 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20661 20662 20663 #line default 20664 #line hidden 20665 20666 #line 6945 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20667 if (Converter.ToBoolean(variantListSettings["RenderVariantGroupsInTable"])) 20668 { 20669 20670 20671 #line default 20672 #line hidden 20673 WriteLiteralTo(__razor_helper_writer, " "); 20674 20675 WriteLiteralTo(__razor_helper_writer, "\r\n {{#VariantSelectionNames}}\r\n\t\t {{>TableField" + 20676 "NameTemplate}}\r\n\t\t {{/VariantSelectionNames}}\r\n "); 20677 20678 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20679 20680 20681 #line 6952 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20682 } 20683 20684 20685 #line default 20686 #line hidden 20687 WriteLiteralTo(__razor_helper_writer, " <td class=\"u-va-middle\">\r\n "); 20688 20689 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20690 20691 20692 #line 6955 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20693 20694 20695 #line default 20696 #line hidden 20697 20698 #line 6955 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20699 if (Dna.Kiesler.Users.IsPricesAllowed() && !Dna.Kiesler.Users.IsBuyingAllowed()) 20700 { 20701 20702 20703 #line default 20704 #line hidden 20705 20706 #line 6957 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20707 20708 20709 20710 #line default 20711 #line hidden 20712 WriteLiteralTo(__razor_helper_writer, "\t\t\t\t <div"); 20713 20714 WriteLiteralTo(__razor_helper_writer, " class=\"u-hidden-sm\""); 20715 20716 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t <div"); 20717 20718 WriteLiteralTo(__razor_helper_writer, " class=\"u-full-width u-ta-right u-padding-right\""); 20719 20720 WriteLiteralTo(__razor_helper_writer, ">\r\n\t\t\t\t\t\t <div"); 20721 20722 WriteLiteralTo(__razor_helper_writer, " class=\"before-price {{onSale}} before-price--micro dw-mod\""); 20723 20724 WriteLiteralTo(__razor_helper_writer, ">{{discount}}</div>\r\n\t\t\t\t\t\t <div"); 20725 20726 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-list price--micro dw-mod\""); 20727 20728 WriteLiteralTo(__razor_helper_writer, ">{{price}}</div>\r\n\t\t\t\t\t </div>\r\n\t\t\t\t </div>\r\n"); 20729 20730 20731 #line 6964 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20732 } 20733 20734 20735 #line default 20736 #line hidden 20737 WriteLiteralTo(__razor_helper_writer, "\r\n <div class=\"grid grid--align-center grid--justify-end\">\r\n " + 20738 " <div class=\"u-margin-right u-hidden-xs u-hidden-xxs\">\r\n"); 20739 20740 20741 #line 6968 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20742 20743 20744 #line default 20745 #line hidden 20746 20747 #line 6968 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20748 if (variantsPointShopOnly) 20749 { 20750 20751 20752 #line default 20753 #line hidden 20754 WriteLiteralTo(__razor_helper_writer, " "); 20755 20756 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if canBePurchasedWithPoints}}\r\n " + 20757 " <div"); 20758 20759 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-list price--micro dw-mod\""); 20760 20761 WriteLiteralTo(__razor_helper_writer, ">{{points}} "); 20762 20763 20764 #line 6972 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20765 WriteTo(__razor_helper_writer, Translate("points")); 20766 20767 20768 #line default 20769 #line hidden 20770 WriteLiteralTo(__razor_helper_writer, "</div>\r\n {{else}}\r\n " + 20771 " {{#if havePointPrice}}\r\n <small"); 20772 20773 WriteLiteralTo(__razor_helper_writer, " class=\"help-text u-no-margin u-margin-top\""); 20774 20775 WriteLiteralTo(__razor_helper_writer, ">"); 20776 20777 20778 #line 6975 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20779 WriteTo(__razor_helper_writer, Translate("Not enough points to buy this")); 20780 20781 20782 #line default 20783 #line hidden 20784 WriteLiteralTo(__razor_helper_writer, "</small>\r\n {{else}}\r\n " + 20785 " <small"); 20786 20787 WriteLiteralTo(__razor_helper_writer, " class=\"help-text u-no-margin u-margin-top\""); 20788 20789 WriteLiteralTo(__razor_helper_writer, ">"); 20790 20791 20792 #line 6977 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20793 WriteTo(__razor_helper_writer, Translate("Not available")); 20794 20795 20796 #line default 20797 #line hidden 20798 WriteLiteralTo(__razor_helper_writer, "</small>\r\n {{/if}}\r\n " + 20799 " {{/if}}\r\n "); 20800 20801 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20802 20803 20804 #line 6981 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20805 } 20806 20807 20808 #line default 20809 #line hidden 20810 20811 #line 6982 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20812 20813 else if (Dna.Kiesler.Users.IsPricesAllowed()) 20814 { 20815 20816 20817 #line default 20818 #line hidden 20819 20820 #line 6985 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20821 20822 20823 20824 #line default 20825 #line hidden 20826 WriteLiteralTo(__razor_helper_writer, " <div"); 20827 20828 WriteLiteralTo(__razor_helper_writer, " class=\"before-price before-price--micro {{onSale}} dw-mod\""); 20829 20830 WriteLiteralTo(__razor_helper_writer, ">{{discount}}</div>\r\n"); 20831 20832 WriteLiteralTo(__razor_helper_writer, " <div"); 20833 20834 WriteLiteralTo(__razor_helper_writer, " class=\"price price--condensed price--product-list dw-mod\""); 20835 20836 WriteLiteralTo(__razor_helper_writer, ">{{price}}</div>\r\n"); 20837 20838 20839 #line 6988 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20840 } 20841 20842 20843 #line default 20844 #line hidden 20845 WriteLiteralTo(__razor_helper_writer, " </div>\r\n\r\n "); 20846 20847 WriteLiteralTo(__razor_helper_writer, "\r\n"); 20848 20849 20850 #line 6992 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20851 20852 20853 #line default 20854 #line hidden 20855 20856 #line 6992 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20857 20858 //Replacing AddToCart component with AddToCartWithQuote component for variants 20859 var addToCartBtn = GetAddToCartWithQuoteButton(true, variantsPointShopOnly, "product__price-actions-flex-wrap buttons-collection--right dw-mod"); 20860 addToCartBtn.UnitSelector = new UnitSelector 20861 { 20862 OptionsContent = "{{#unitOptions}}{{>VariantUnitOption}}{{/unitOptions}}", 20863 Id = "UnitOptions_{{id}}", 20864 SelectedOption = "{{unitName}}", 20865 CssClass = "{{hasUnits}}" 20866 }; 20867 //END CUSTOM CODE 20868 20869 if (!variantsPointShopOnly) 20870 { 20871 addToCartBtn.QuantitySelector = new QuantitySelector 20872 { 20873 Id = "Quantity_{{id}}", 20874 CssClass = "{{#unless isAddToCart}}u-hidden{{/unless}}" 20875 }; 20876 } 20877 20878 20879 20880 #line default 20881 #line hidden 20882 WriteLiteralTo(__razor_helper_writer, " <div"); 20883 20884 WriteLiteralTo(__razor_helper_writer, " class=\"grid__cell u-flex-grow--0\""); 20885 20886 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 20887 20888 WriteLiteralTo(__razor_helper_writer, " "); 20889 20890 20891 #line 7014 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20892 WriteTo(__razor_helper_writer, Render(addToCartBtn)); 20893 20894 20895 #line default 20896 #line hidden 20897 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 20898 20899 20900 #line 7016 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20901 20902 20903 #line default 20904 #line hidden 20905 WriteLiteralTo(__razor_helper_writer, @" 20906 <div class=""favorites u-margin-left dw-mod""> 20907 {{#Favorite}} 20908 {{>FavoriteTemplate}} 20909 {{/Favorite}} 20910 </div> 20911 </div> 20912 </td> 20913 {{/.}} 20914 </script> 20915 "); 20916 20917 20918 #line 7026 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20919 20920 20921 20922 #line default 20923 #line hidden 20924 WriteLiteralTo(__razor_helper_writer, " <script"); 20925 20926 WriteLiteralTo(__razor_helper_writer, " id=\"TableFieldNameTemplate\""); 20927 20928 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20929 20930 WriteLiteralTo(__razor_helper_writer, ">\r\n\t <td class=\"u-va-middle\">{{name}}</td> \r\n </script>\r\n"); 20931 20932 20933 #line 7030 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20934 20935 20936 20937 #line default 20938 #line hidden 20939 WriteLiteralTo(__razor_helper_writer, " <script"); 20940 20941 WriteLiteralTo(__razor_helper_writer, " id=\"TableFieldValueTemplate\""); 20942 20943 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20944 20945 WriteLiteralTo(__razor_helper_writer, ">\r\n\t <td class=\"u-va-middle\">{{value}}</td> \r\n </script>\r\n"); 20946 20947 20948 #line 7034 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20949 20950 20951 20952 #line default 20953 #line hidden 20954 WriteLiteralTo(__razor_helper_writer, " <script"); 20955 20956 WriteLiteralTo(__razor_helper_writer, " id=\"MiniSticker\""); 20957 20958 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20959 20960 WriteLiteralTo(__razor_helper_writer, ">\r\n\t <div class=\"stickers-container__tag stickers-container__tag--micro {{CssC" + 20961 "lass}} dw-mod\">{{Title}}</div>\r\n </script>\r\n"); 20962 20963 20964 #line 7038 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20965 20966 20967 20968 #line default 20969 #line hidden 20970 WriteLiteralTo(__razor_helper_writer, " <script"); 20971 20972 WriteLiteralTo(__razor_helper_writer, " id=\"VariantUnitOption\""); 20973 20974 WriteLiteralTo(__razor_helper_writer, " type=\"text/x-template\""); 20975 20976 WriteLiteralTo(__razor_helper_writer, ">\r\n <div class=\"dropdown__item dw-mod\" onclick=\"HandlebarsBolt.UpdateConte" + 20977 "nt(this.closest(\'.js-product\').id, \'{{link}}&feed=true&UnitID={{value}}"); 20978 20979 20980 #line 7040 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20981 WriteTo(__razor_helper_writer, liveProductInfoParameter); 20982 20983 20984 #line default 20985 #line hidden 20986 WriteLiteralTo(__razor_helper_writer, "\')\">{{name}}</div>\r\n </script>\r\n"); 20987 20988 20989 #line 7042 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20990 20991 20992 #line default 20993 #line hidden 20994 }); 20995 20996 #line 7042 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 20997 } 20998 #line default 20999 #line hidden 21000 21001 21002 #line 7044 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21003 public RazorEngine.Templating.TemplateWriter RenderPriceInfoCustom() { 21004 #line default 21005 #line hidden 21006 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 21007 21008 #line 7044 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21009 21010 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 21011 bool showPrice = !Pageview.AreaSettings.GetItem("ProductList").GetBoolean("HidePrice"); 21012 bool showCartButton = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideAddToCartButton"); 21013 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductList").GetBoolean("ShowBothPricesWithWithoutVAT"); 21014 bool isPricesWithVATEnabled = Converter.ToBoolean(Pageview.Area.EcomPricesWithVat); 21015 21016 if (showPrice && Dynamicweb.Rapido.Services.User.IsPricesAllowed()) 21017 { 21018 if (pointShopOnly) 21019 { 21020 21021 21022 #line default 21023 #line hidden 21024 WriteLiteralTo(__razor_helper_writer, " "); 21025 21026 WriteLiteralTo(__razor_helper_writer, "\r\n {{#if havePointPrice}}\r\n <div"); 21027 21028 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-page dw-mod\""); 21029 21030 WriteLiteralTo(__razor_helper_writer, ">{{points}} "); 21031 21032 21033 #line 7057 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21034 WriteTo(__razor_helper_writer, Translate("points")); 21035 21036 21037 #line default 21038 #line hidden 21039 WriteLiteralTo(__razor_helper_writer, "</div>\r\n"); 21040 21041 21042 #line 7058 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21043 21044 21045 #line default 21046 #line hidden 21047 21048 #line 7058 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21049 if (showCartButton) 21050 { 21051 21052 21053 #line default 21054 #line hidden 21055 WriteLiteralTo(__razor_helper_writer, " "); 21056 21057 WriteLiteralTo(__razor_helper_writer, "\r\n {{#unless canBePurchasedWithPoints}}\r\n " + 21058 " <small"); 21059 21060 WriteLiteralTo(__razor_helper_writer, " class=\"help-text u-no-margin\""); 21061 21062 WriteLiteralTo(__razor_helper_writer, ">"); 21063 21064 21065 #line 7062 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21066 WriteTo(__razor_helper_writer, Translate("Not enough points to buy this")); 21067 21068 21069 #line default 21070 #line hidden 21071 WriteLiteralTo(__razor_helper_writer, "</small>\r\n {{/unless}}\r\n "); 21072 21073 WriteLiteralTo(__razor_helper_writer, "\r\n"); 21074 21075 21076 #line 7065 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21077 } 21078 21079 21080 #line default 21081 #line hidden 21082 WriteLiteralTo(__razor_helper_writer, " {{else}}\r\n"); 21083 21084 WriteLiteralTo(__razor_helper_writer, " "); 21085 21086 21087 #line 7067 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21088 WriteTo(__razor_helper_writer, Translate("Not available")); 21089 21090 21091 #line default 21092 #line hidden 21093 WriteLiteralTo(__razor_helper_writer, "\r\n {{/if}}\r\n "); 21094 21095 WriteLiteralTo(__razor_helper_writer, "\r\n"); 21096 21097 21098 #line 7070 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21099 21100 } 21101 else 21102 { 21103 /*START CUSTOM CODE*/ 21104 21105 21106 #line default 21107 #line hidden 21108 WriteLiteralTo(__razor_helper_writer, " "); 21109 21110 WriteLiteralTo(__razor_helper_writer, "\r\n {{#unless hidePrice}}\r\n <div"); 21111 21112 WriteLiteralTo(__razor_helper_writer, " class=\"price price--product-page dw-mod\""); 21113 21114 WriteLiteralTo(__razor_helper_writer, ">{{price}}</div>\r\n <div"); 21115 21116 WriteLiteralTo(__razor_helper_writer, " class=\"before-price {{onSale}} dw-mod\""); 21117 21118 WriteLiteralTo(__razor_helper_writer, ">{{discount}}</div>\r\n"); 21119 21120 21121 #line 7079 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21122 21123 21124 #line default 21125 #line hidden 21126 21127 #line 7079 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21128 if (showVATPrice) 21129 { 21130 21131 21132 #line default 21133 #line hidden 21134 WriteLiteralTo(__razor_helper_writer, " <div"); 21135 21136 WriteLiteralTo(__razor_helper_writer, " class=\"vat-price vat-price--product-page u-margin-top dw-mod\""); 21137 21138 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21139 21140 21141 #line 7082 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21142 21143 21144 #line default 21145 #line hidden 21146 21147 #line 7082 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21148 if (isPricesWithVATEnabled) 21149 { 21150 21151 21152 #line default 21153 #line hidden 21154 WriteLiteralTo(__razor_helper_writer, " <span>"); 21155 21156 21157 #line 7084 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21158 WriteTo(__razor_helper_writer, Translate("excl. VAT")); 21159 21160 21161 #line default 21162 #line hidden 21163 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 21164 21165 WriteLiteralTo(__razor_helper_writer, " <span> ({{priceWithoutVAT}})</span>\r\n"); 21166 21167 21168 #line 7086 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21169 } 21170 else 21171 { 21172 21173 21174 #line default 21175 #line hidden 21176 WriteLiteralTo(__razor_helper_writer, " <span>"); 21177 21178 21179 #line 7089 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21180 WriteTo(__razor_helper_writer, Translate("incl. VAT")); 21181 21182 21183 #line default 21184 #line hidden 21185 WriteLiteralTo(__razor_helper_writer, "</span>\r\n"); 21186 21187 WriteLiteralTo(__razor_helper_writer, " <span> ({{priceWithVAT}})</span>\r\n"); 21188 21189 21190 #line 7091 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21191 } 21192 21193 21194 #line default 21195 #line hidden 21196 WriteLiteralTo(__razor_helper_writer, " </div>\r\n"); 21197 21198 21199 #line 7093 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21200 } 21201 21202 21203 #line default 21204 #line hidden 21205 WriteLiteralTo(__razor_helper_writer, "\r\n <text>\r\n {{#if priceRRP}}\r\n " + 21206 " <div><small>"); 21207 21208 21209 #line 7097 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21210 WriteTo(__razor_helper_writer, Translate("RRP")); 21211 21212 21213 #line default 21214 #line hidden 21215 WriteLiteralTo(__razor_helper_writer, " {{priceRRP}}</small></div>\r\n {{/if}}\r\n " + 21216 " </text>\r\n {{/unless}}\r\n "); 21217 21218 WriteLiteralTo(__razor_helper_writer, "\r\n"); 21219 21220 21221 #line 7102 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21222 /*END CUSTOM CODE*/ 21223 } 21224 } 21225 21226 21227 #line default 21228 #line hidden 21229 }); 21230 21231 #line 7105 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21232 } 21233 #line default 21234 #line hidden 21235 21236 21237 #line 7115 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21238 public RazorEngine.Templating.TemplateWriter RenderProductTop() 21239 { 21240 #line default 21241 #line hidden 21242 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 21243 21244 #line 7116 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21245 21246 List<Block> subBlocks = productsPage.GetBlockListById("Top").OrderBy(item => item.SortId).ToList(); 21247 21248 21249 21250 #line default 21251 #line hidden 21252 WriteLiteralTo(__razor_helper_writer, " <div"); 21253 21254 WriteLiteralTo(__razor_helper_writer, " class=\"product__top paragraph-container paragraph-container--full-width dw-mod\""); 21255 21256 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 21257 21258 WriteLiteralTo(__razor_helper_writer, " class=\"center-container dw-mod\""); 21259 21260 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 21261 21262 WriteLiteralTo(__razor_helper_writer, " class=\"grid\""); 21263 21264 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21265 21266 WriteLiteralTo(__razor_helper_writer, " "); 21267 21268 21269 #line 7122 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21270 WriteTo(__razor_helper_writer, RenderBlockList(subBlocks)); 21271 21272 21273 #line default 21274 #line hidden 21275 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </div>\r\n </div>\r\n"); 21276 21277 21278 #line 7126 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21279 21280 21281 #line default 21282 #line hidden 21283 }); 21284 21285 #line 7126 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21286 } 21287 #line default 21288 #line hidden 21289 21290 21291 #line 7128 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21292 public RazorEngine.Templating.TemplateWriter RenderProductMiniTabs() 21293 { 21294 #line default 21295 #line hidden 21296 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 21297 21298 #line 7129 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21299 21300 List<Block> subBlocks = productsPage.GetBlockListById("MiniTabs").OrderBy(item => item.SortId).ToList(); 21301 21302 if (subBlocks.Count > 0) 21303 { 21304 21305 21306 #line default 21307 #line hidden 21308 WriteLiteralTo(__razor_helper_writer, " <div"); 21309 21310 WriteLiteralTo(__razor_helper_writer, " class=\"grid__col-12 product__info tabs u-no-padding u-margin-bottom--lg dw-mod\""); 21311 21312 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21313 21314 21315 #line 7135 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21316 21317 21318 #line default 21319 #line hidden 21320 21321 #line 7135 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21322 21323 bool firstTab = true; 21324 foreach (Block item in subBlocks) 21325 { 21326 string isChecked = firstTab ? "checked" : ""; 21327 firstTab = false; 21328 21329 21330 21331 #line default 21332 #line hidden 21333 WriteLiteralTo(__razor_helper_writer, " <input"); 21334 21335 WriteLiteralTo(__razor_helper_writer, " type=\"radio\""); 21336 21337 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__trigger\""); 21338 21339 WriteLiteralTo(__razor_helper_writer, " name=\"productMiniTabs\""); 21340 21341 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 322651), Tuple.Create("\"", 322664) 21342 21343 #line 7142 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21344 , Tuple.Create(Tuple.Create("", 322656), Tuple.Create<System.Object, System.Int32>(item.Id 21345 21346 #line default 21347 #line hidden 21348 , 322656), false) 21349 ); 21350 21351 WriteLiteralTo(__razor_helper_writer, " onchange=\"bLazy.revalidate()\""); 21352 21353 WriteLiteralTo(__razor_helper_writer, " "); 21354 21355 21356 #line 7142 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21357 WriteTo(__razor_helper_writer, isChecked); 21358 21359 21360 #line default 21361 #line hidden 21362 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 21363 21364 21365 #line 7143 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21366 } 21367 21368 21369 #line default 21370 #line hidden 21371 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n <div"); 21372 21373 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__list dw-mod\""); 21374 21375 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21376 21377 21378 #line 7147 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21379 21380 21381 #line default 21382 #line hidden 21383 21384 #line 7147 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21385 foreach (Block item in subBlocks) 21386 { 21387 21388 21389 #line default 21390 #line hidden 21391 WriteLiteralTo(__razor_helper_writer, " <label"); 21392 21393 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 322889), Tuple.Create("\"", 322903) 21394 21395 #line 7149 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21396 , Tuple.Create(Tuple.Create("", 322895), Tuple.Create<System.Object, System.Int32>(item.Id 21397 21398 #line default 21399 #line hidden 21400 , 322895), false) 21401 ); 21402 21403 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__label dw-mod\""); 21404 21405 WriteLiteralTo(__razor_helper_writer, ">"); 21406 21407 21408 #line 7149 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21409 WriteTo(__razor_helper_writer, item.Name); 21410 21411 21412 #line default 21413 #line hidden 21414 WriteLiteralTo(__razor_helper_writer, "</label>\r\n"); 21415 21416 21417 #line 7150 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21418 } 21419 21420 21421 #line default 21422 #line hidden 21423 WriteLiteralTo(__razor_helper_writer, " </div>\r\n\r\n <div"); 21424 21425 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__blocks dw-mod\""); 21426 21427 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21428 21429 21430 #line 7154 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21431 21432 21433 #line default 21434 #line hidden 21435 21436 #line 7154 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21437 foreach (Block item in subBlocks) 21438 { 21439 string hidePadding = item.Design.HidePadding ? "u-no-padding" : ""; 21440 21441 if (item.Design.RenderType != RenderType.Hide) 21442 { 21443 21444 21445 #line default 21446 #line hidden 21447 WriteLiteralTo(__razor_helper_writer, " <div"); 21448 21449 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__block u-border dw-mod\""); 21450 21451 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 323357), Tuple.Create("\"", 323377) 21452 , Tuple.Create(Tuple.Create("", 323362), Tuple.Create("Block__", 323362), true) 21453 21454 #line 7160 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21455 , Tuple.Create(Tuple.Create("", 323369), Tuple.Create<System.Object, System.Int32>(item.Id 21456 21457 #line default 21458 #line hidden 21459 , 323369), false) 21460 ); 21461 21462 WriteLiteralTo(__razor_helper_writer, ">\r\n <block"); 21463 21464 WriteLiteralTo(__razor_helper_writer, " class=\"product__block paragraph-container product__block--bordered dw-mod\""); 21465 21466 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 21467 21468 WriteLiteralTo(__razor_helper_writer, " class=\"center-container dw-mod\""); 21469 21470 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21471 21472 WriteLiteralTo(__razor_helper_writer, " "); 21473 21474 21475 #line 7163 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21476 WriteTo(__razor_helper_writer, RenderBlock(item)); 21477 21478 21479 #line default 21480 #line hidden 21481 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </block>\r\n " + 21482 " </div>\r\n"); 21483 21484 21485 #line 7167 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21486 } 21487 } 21488 21489 21490 #line default 21491 #line hidden 21492 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </div>\r\n"); 21493 21494 21495 #line 7171 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21496 } 21497 21498 21499 #line default 21500 #line hidden 21501 }); 21502 21503 #line 7172 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21504 } 21505 #line default 21506 #line hidden 21507 21508 21509 #line 7174 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21510 public RazorEngine.Templating.TemplateWriter RenderProductTabs() 21511 { 21512 #line default 21513 #line hidden 21514 return new RazorEngine.Templating.TemplateWriter(__razor_helper_writer => { 21515 21516 #line 7175 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21517 21518 List<Block> subBlocks = productsPage.GetBlockListById("Tabs").OrderBy(item => item.SortId).ToList(); 21519 21520 if (Pageview.Device.ToString() != "Mobile") { 21521 21522 21523 #line default 21524 #line hidden 21525 WriteLiteralTo(__razor_helper_writer, " <div"); 21526 21527 WriteLiteralTo(__razor_helper_writer, " class=\"grid__col-12 product__info product__info--tabs tabs dw-mod\""); 21528 21529 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21530 21531 21532 #line 7180 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21533 21534 21535 #line default 21536 #line hidden 21537 21538 #line 7180 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21539 21540 bool firstTab = true; 21541 foreach (Block item in subBlocks) 21542 { 21543 string isChecked = firstTab ? "checked" : ""; 21544 firstTab = false; 21545 21546 21547 21548 #line default 21549 #line hidden 21550 WriteLiteralTo(__razor_helper_writer, " <input"); 21551 21552 WriteLiteralTo(__razor_helper_writer, " type=\"radio\""); 21553 21554 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__trigger\""); 21555 21556 WriteLiteralTo(__razor_helper_writer, " name=\"productTabs\""); 21557 21558 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 324406), Tuple.Create("\"", 324419) 21559 21560 #line 7187 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21561 , Tuple.Create(Tuple.Create("", 324411), Tuple.Create<System.Object, System.Int32>(item.Id 21562 21563 #line default 21564 #line hidden 21565 , 324411), false) 21566 ); 21567 21568 WriteLiteralTo(__razor_helper_writer, " onchange=\"bLazy.revalidate()\""); 21569 21570 WriteLiteralTo(__razor_helper_writer, " "); 21571 21572 21573 #line 7187 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21574 WriteTo(__razor_helper_writer, isChecked); 21575 21576 21577 #line default 21578 #line hidden 21579 WriteLiteralTo(__razor_helper_writer, " />\r\n"); 21580 21581 21582 #line 7188 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21583 } 21584 21585 21586 #line default 21587 #line hidden 21588 WriteLiteralTo(__razor_helper_writer, "\r\n\r\n <div"); 21589 21590 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__list dw-mod\""); 21591 21592 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21593 21594 21595 #line 7192 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21596 21597 21598 #line default 21599 #line hidden 21600 21601 #line 7192 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21602 foreach (Block item in subBlocks) 21603 { 21604 if (item.Design.RenderType != RenderType.Hide) 21605 { 21606 21607 21608 #line default 21609 #line hidden 21610 WriteLiteralTo(__razor_helper_writer, " <label"); 21611 21612 WriteAttributeTo(__razor_helper_writer, "for", Tuple.Create(" for=\"", 324739), Tuple.Create("\"", 324753) 21613 21614 #line 7196 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21615 , Tuple.Create(Tuple.Create("", 324745), Tuple.Create<System.Object, System.Int32>(item.Id 21616 21617 #line default 21618 #line hidden 21619 , 324745), false) 21620 ); 21621 21622 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__label dw-mod\""); 21623 21624 WriteLiteralTo(__razor_helper_writer, ">"); 21625 21626 21627 #line 7196 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21628 WriteTo(__razor_helper_writer, item.Name); 21629 21630 21631 #line default 21632 #line hidden 21633 WriteLiteralTo(__razor_helper_writer, "</label>\r\n"); 21634 21635 21636 #line 7197 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21637 } 21638 } 21639 21640 21641 #line default 21642 #line hidden 21643 WriteLiteralTo(__razor_helper_writer, " </div>\r\n\r\n <div"); 21644 21645 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__blocks dw-mod\""); 21646 21647 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21648 21649 21650 #line 7202 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21651 21652 21653 #line default 21654 #line hidden 21655 21656 #line 7202 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21657 foreach (Block item in subBlocks) 21658 { 21659 if (item.Design.RenderType != RenderType.Hide) 21660 { 21661 21662 21663 #line default 21664 #line hidden 21665 WriteLiteralTo(__razor_helper_writer, " <div"); 21666 21667 WriteLiteralTo(__razor_helper_writer, " class=\"tabs__block dw-mod\""); 21668 21669 WriteAttributeTo(__razor_helper_writer, "id", Tuple.Create(" id=\"", 325130), Tuple.Create("\"", 325150) 21670 , Tuple.Create(Tuple.Create("", 325135), Tuple.Create("Block__", 325135), true) 21671 21672 #line 7206 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21673 , Tuple.Create(Tuple.Create("", 325142), Tuple.Create<System.Object, System.Int32>(item.Id 21674 21675 #line default 21676 #line hidden 21677 , 325142), false) 21678 ); 21679 21680 WriteLiteralTo(__razor_helper_writer, ">\r\n <section"); 21681 21682 WriteLiteralTo(__razor_helper_writer, " class=\"product__section paragraph-container paragraph-container--full-width prod" + 21683 "uct__section--bordered dw-mod\""); 21684 21685 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 21686 21687 WriteLiteralTo(__razor_helper_writer, " class=\"center-container u-padding--lg dw-mod\""); 21688 21689 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21690 21691 WriteLiteralTo(__razor_helper_writer, " "); 21692 21693 21694 #line 7209 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21695 WriteTo(__razor_helper_writer, RenderBlock(item)); 21696 21697 21698 #line default 21699 #line hidden 21700 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n </section>\r" + 21701 "\n </div>\r\n"); 21702 21703 21704 #line 7213 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21705 } 21706 } 21707 21708 21709 #line default 21710 #line hidden 21711 WriteLiteralTo(__razor_helper_writer, " </div>\r\n </div>\r\n"); 21712 21713 21714 #line 7217 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21715 } else { 21716 foreach (Block item in subBlocks) 21717 { 21718 if (item.Design.RenderType != RenderType.Hide) 21719 { 21720 21721 21722 #line default 21723 #line hidden 21724 WriteLiteralTo(__razor_helper_writer, " <div"); 21725 21726 WriteLiteralTo(__razor_helper_writer, " class=\"center-container dw-mod\""); 21727 21728 WriteLiteralTo(__razor_helper_writer, ">\r\n <div"); 21729 21730 WriteLiteralTo(__razor_helper_writer, " class=\"padding-position-left padding-size-sm\""); 21731 21732 WriteLiteralTo(__razor_helper_writer, ">\r\n"); 21733 21734 WriteLiteralTo(__razor_helper_writer, " "); 21735 21736 21737 #line 7224 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21738 WriteTo(__razor_helper_writer, Render(new Heading { Title = item.Name, Level = 2 })); 21739 21740 21741 #line default 21742 #line hidden 21743 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n\r\n"); 21744 21745 WriteLiteralTo(__razor_helper_writer, " "); 21746 21747 21748 #line 7227 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21749 WriteTo(__razor_helper_writer, RenderBlock(item)); 21750 21751 21752 #line default 21753 #line hidden 21754 WriteLiteralTo(__razor_helper_writer, "\r\n </div>\r\n"); 21755 21756 21757 #line 7229 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21758 } 21759 } 21760 } 21761 21762 21763 #line default 21764 #line hidden 21765 }); 21766 21767 #line 7232 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21768 } 21769 #line default 21770 #line hidden 21771 21772 21773 public RazorEngine_3afbda0a2db64f8e826f2281aa812a5f() { 21774 } 21775 21776 public override void Execute() { 21777 WriteLiteral("\r\n"); 21778 21779 WriteLiteral("\r\n"); 21780 21781 21782 #line 31 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 21783 21784 string productBlocksPosition = Pageview.AreaSettings.GetItem("ProductPage").GetList("ImageSectionPosition") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("ImageSectionPosition").SelectedValue : "thumbs-image-info"; 21785 bool productInfoOnTheRight = productBlocksPosition.LastIndexOf("info") == productBlocksPosition.Length - 4; 21786 21787 Block productTop = new Block() 21788 { 21789 Id = "Top", 21790 SortId = 10, 21791 SkipRenderBlocksList = true, 21792 Template = RenderProductTop() 21793 }; 21794 productsPage.Add(productTop); 21795 21796 Block productMainInfo = new Block() 21797 { 21798 Id = "MainInformation", 21799 SortId = productInfoOnTheRight ? 20 : 10, 21800 Design = new Design 21801 { 21802 Size = "auto", 21803 RenderType = RenderType.Column 21804 } 21805 }; 21806 productsPage.Add("Top", productMainInfo); 21807 21808 //Optional mini tabs block 21809 Block miniTabsBlock = new Block() 21810 { 21811 Id = "MiniTabs", 21812 SortId = 40, 21813 Template = RenderProductMiniTabs(), 21814 SkipRenderBlocksList = true 21815 }; 21816 productsPage.Add("MainInformation", miniTabsBlock); 21817 //----- 21818 21819 Block productTabsBlock = new Block() 21820 { 21821 Id = "Tabs", 21822 SortId = 20, 21823 Template = RenderProductTabs(), 21824 SkipRenderBlocksList = true 21825 }; 21826 productsPage.Add(productTabsBlock); 21827 21828 Block productDetailsBlock = new Block() 21829 { 21830 Id = "Section", 21831 SortId = 30 21832 }; 21833 productsPage.Add(productDetailsBlock); 21834 21835 Block productSnippetsBlock = new Block() 21836 { 21837 Id = "Snippets", 21838 SortId = 40 21839 }; 21840 productsPage.Add(productSnippetsBlock); 21841 21842 21843 #line default 21844 #line hidden 21845 WriteLiteral("\r\n\r\n"); 21846 21847 WriteLiteral("\r\n"); 21848 21849 WriteLiteral("\r\n\r\n"); 21850 21851 WriteLiteral("\r\n\r\n"); 21852 21853 WriteLiteral("\r\n"); 21854 21855 WriteLiteral("\r\n"); 21856 21857 WriteLiteral("\r\n\r\n"); 21858 21859 WriteLiteral("\r\n"); 21860 21861 WriteLiteral("\r\n"); 21862 21863 WriteLiteral("\r\n\r\n"); 21864 21865 WriteLiteral("\r\n"); 21866 21867 WriteLiteral("\r\n"); 21868 21869 WriteLiteral("\r\n\r\n"); 21870 21871 WriteLiteral("\r\n\r\n"); 21872 21873 WriteLiteral("\r\n"); 21874 21875 WriteLiteral("\r\n\r\n"); 21876 21877 WriteLiteral("\r\n"); 21878 21879 WriteLiteral("\r\n"); 21880 21881 WriteLiteral("\r\n"); 21882 21883 WriteLiteral("\r\n"); 21884 21885 WriteLiteral("\r\n"); 21886 21887 WriteLiteral("\r\n\r\n"); 21888 21889 WriteLiteral("\r\n\r\n"); 21890 21891 WriteLiteral("\r\n\r\n"); 21892 21893 WriteLiteral("\r\n\r\n"); 21894 21895 WriteLiteral("\r\n\r\n"); 21896 21897 WriteLiteral("\r\n\r\n"); 21898 21899 WriteLiteral("\r\n\r\n"); 21900 21901 WriteLiteral("\r\n\r\n"); 21902 21903 WriteLiteral("\r\n\r\n"); 21904 21905 WriteLiteral("\r\n\r\n"); 21906 21907 WriteLiteral("\r\n\r\n"); 21908 21909 WriteLiteral("\r\n"); 21910 21911 WriteLiteral("\r\n\r\n"); 21912 21913 WriteLiteral("\r\n\r\n"); 21914 21915 WriteLiteral("\r\n\r\n"); 21916 21917 WriteLiteral("\r\n"); 21918 21919 WriteLiteral("\r\n"); 21920 21921 WriteLiteral("\r\n\r\n"); 21922 21923 WriteLiteral("\r\n"); 21924 21925 WriteLiteral("\r\n\r\n"); 21926 21927 WriteLiteral("\r\n"); 21928 21929 WriteLiteral("\r\n\r\n"); 21930 21931 WriteLiteral("\r\n"); 21932 21933 WriteLiteral("\r\n\r\n"); 21934 21935 WriteLiteral("\r\n\r\n"); 21936 21937 WriteLiteral("\r\n\r\n"); 21938 21939 WriteLiteral("\r\n\r\n"); 21940 21941 WriteLiteral("\r\n\r\n"); 21942 21943 WriteLiteral("\r\n"); 21944 21945 WriteLiteral("\r\n\r\n"); 21946 21947 WriteLiteral("\r\n\r\n"); 21948 21949 WriteLiteral("\r\n\r\n"); 21950 21951 WriteLiteral("\r\n"); 21952 21953 WriteLiteral("\r\n\r\n"); 21954 21955 WriteLiteral("\r\n\r\n"); 21956 21957 WriteLiteral("\r\n\r\n"); 21958 21959 WriteLiteral("\r\n"); 21960 21961 WriteLiteral("\r\n"); 21962 21963 WriteLiteral("\r\n\r\n"); 21964 21965 WriteLiteral("\r\n\r\n"); 21966 21967 WriteLiteral("\r\n\r\n"); 21968 21969 WriteLiteral("\r\n\r\n"); 21970 21971 WriteLiteral("\r\n\r\n"); 21972 21973 WriteLiteral("\r\n\r\n"); 21974 21975 WriteLiteral("\r\n\r\n"); 21976 21977 WriteLiteral("\r\n\r\n"); 21978 21979 WriteLiteral("\r\n\r\n"); 21980 21981 WriteLiteral("\r\n"); 21982 21983 WriteLiteral("\r\n\r\n"); 21984 21985 WriteLiteral("\r\n\r\n"); 21986 21987 WriteLiteral("\r\n"); 21988 21989 WriteLiteral("\r\n\r\n"); 21990 21991 WriteLiteral("\r\n\r\n"); 21992 21993 WriteLiteral("\r\n\r\n"); 21994 21995 WriteLiteral("\r\n\r\n"); 21996 21997 WriteLiteral("\r\n\r\n"); 21998 21999 WriteLiteral("\r\n\r\n"); 22000 22001 WriteLiteral("\r\n\r\n"); 22002 22003 WriteLiteral("\r\n\r\n"); 22004 22005 WriteLiteral("\r\n"); 22006 22007 WriteLiteral("\r\n\r\n"); 22008 22009 WriteLiteral("\r\n"); 22010 22011 WriteLiteral("\r\n"); 22012 22013 WriteLiteral("\r\n"); 22014 22015 WriteLiteral("\r\n"); 22016 22017 WriteLiteral("\r\n\r\n"); 22018 22019 WriteLiteral("\r\n"); 22020 22021 WriteLiteral("\r\n\r\n"); 22022 22023 WriteLiteral("\r\n"); 22024 22025 WriteLiteral("\r\n\r\n"); 22026 22027 WriteLiteral("\r\n"); 22028 22029 WriteLiteral("\r\n"); 22030 22031 WriteLiteral("\r\n"); 22032 22033 WriteLiteral("\r\n\r\n"); 22034 22035 WriteLiteral("\r\n"); 22036 22037 WriteLiteral("\r\n"); 22038 22039 WriteLiteral("\r\n"); 22040 22041 WriteLiteral("\r\n\r\n"); 22042 22043 WriteLiteral("\r\n"); 22044 22045 WriteLiteral("\r\n\r\n"); 22046 22047 WriteLiteral("\r\n\r\n"); 22048 22049 WriteLiteral("\r\n\r\n"); 22050 22051 WriteLiteral("\r\n\r\n"); 22052 22053 WriteLiteral("\r\n"); 22054 22055 WriteLiteral("\r\n"); 22056 22057 WriteLiteral("\r\n\r\n"); 22058 22059 WriteLiteral("\r\n\r\n"); 22060 22061 WriteLiteral("\r\n"); 22062 22063 WriteLiteral("\r\n\r\n"); 22064 22065 WriteLiteral("\r\n"); 22066 22067 WriteLiteral("\r\n\r\n"); 22068 22069 WriteLiteral("\r\n"); 22070 22071 WriteLiteral("\r\n"); 22072 22073 WriteLiteral("\r\n"); 22074 22075 WriteLiteral("\r\n"); 22076 22077 WriteLiteral("\r\n"); 22078 22079 WriteLiteral("\r\n"); 22080 22081 WriteLiteral("\r\n"); 22082 22083 WriteLiteral("\r\n"); 22084 22085 WriteLiteral("\r\n\r\n"); 22086 22087 WriteLiteral("\r\n"); 22088 22089 WriteLiteral("\r\n"); 22090 22091 22092 #line 3344 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22093 22094 int imageBlockWidth = Pageview.AreaSettings.GetItem("ProductPage").GetList("TopLayout") != null ? Converter.ToInt32(Pageview.AreaSettings.GetItem("ProductPage").GetList("TopLayout").SelectedValue) : 6; 22095 string blocksPosition = Pageview.AreaSettings.GetItem("ProductPage").GetList("ImageSectionPosition") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("ImageSectionPosition").SelectedValue : "thumbs-image-info"; 22096 bool infoOnTheRight = blocksPosition.LastIndexOf("info") == blocksPosition.Length - 4; 22097 showThumbs = blocksPosition.IndexOf("thumbs") != -1; 22098 thumbsOnTheSide = showThumbs && blocksPosition.IndexOf("thumbsBottom") == -1; 22099 bool thumbsOnTheLeft = blocksPosition.IndexOf("image") > blocksPosition.IndexOf("thumbs"); 22100 if (infoOnTheRight) 22101 { 22102 imageBlockWidth = 12 - imageBlockWidth; 22103 if (imageBlockWidth == 0) 22104 { 22105 imageBlockWidth = 12; 22106 } 22107 } 22108 22109 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") { 22110 thumbsOnTheSide = false; 22111 } 22112 22113 Block mainImageBlock = new Block() 22114 { 22115 Id = "MainImage", 22116 SortId = infoOnTheRight ? 10 : 20, 22117 Design = new Design 22118 { 22119 Size = Converter.ToString(imageBlockWidth), 22120 RenderType = RenderType.Column 22121 }, 22122 BlocksList = new List<Block> 22123 { 22124 new Block { 22125 Id = "MainImageRow", 22126 SortId = 10, 22127 Design = new Design 22128 { 22129 RenderType = RenderType.Row 22130 }, 22131 BlocksList = new List<Block> 22132 { 22133 new Block 22134 { 22135 Id = "Carousel", 22136 SortId = 10, 22137 Template = RenderThumbnails(), 22138 Design = new Design 22139 { 22140 Size = thumbsOnTheSide ? "2" : "12", 22141 RenderType = RenderType.Column 22142 } 22143 } 22144 } 22145 } 22146 } 22147 }; 22148 mainImagePage.Add("Top", mainImageBlock); 22149 22150 mainImagePage.Add("MainImageRow", 22151 new Block() 22152 { 22153 Id = "ProductImageModal", 22154 SortId = 0, 22155 Component = new Modal { 22156 Id = "Gallery", 22157 Width = ModalWidth.Lg, 22158 Height = ModalHeight.Full, 22159 BodyTemplate = RenderProductImagesCarousel("modalCarousel", 1, "horizontal", 3, true) 22160 } 22161 }); 22162 22163 if (showThumbs) 22164 { 22165 mainImagePage.Add("MainImageRow", 22166 new Block 22167 { 22168 Id = "Image", 22169 SortId = thumbsOnTheLeft ? 20 : 0, 22170 Template = RenderProductImage(), 22171 Design = new Design 22172 { 22173 Size = thumbsOnTheSide ? "auto" : "12", 22174 RenderType = RenderType.Column 22175 } 22176 }); 22177 } 22178 22179 22180 #line default 22181 #line hidden 22182 WriteLiteral("\r\n\r\n"); 22183 22184 WriteLiteral("\r\n"); 22185 22186 WriteLiteral("\r\n"); 22187 22188 WriteLiteral("\r\n"); 22189 22190 WriteLiteral("\r\n"); 22191 22192 WriteLiteral("\r\n"); 22193 22194 WriteLiteral("\r\n"); 22195 22196 22197 #line 3627 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22198 22199 var mainInfoVariantsCount = GetInteger("Ecom:Product.VariantCount"); 22200 useFacebookPixel = !string.IsNullOrWhiteSpace(Pageview.AreaSettings.GetItem("Settings").GetString("FacebookPixelID")); 22201 bool hideAddToCartButton = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("hideAddToCartButton"); 22202 22203 //family members 22204 bool mainInfoIsFamilyMember = false; 22205 bool mainInfoIsFamilyMaster = false; 22206 var mainInfoVariantGroups = GetLoop("VariantGroups"); 22207 var mainInfoVariantGroupCount = mainInfoVariantGroups.Count; 22208 if (mainInfoVariantGroupCount == 1) 22209 { 22210 var firstVariantGroup = Dynamicweb.Ecommerce.Services.VariantGroups.GetVariantGroup(Dynamicweb.Ecommerce.Common.Context.LanguageID, mainInfoVariantGroups[0]?.GetString("Ecom:VariantGroup.ID")); 22211 if (firstVariantGroup != null) 22212 { 22213 mainInfoIsFamilyMember = firstVariantGroup.Family; 22214 string variantId = !string.IsNullOrEmpty(GetString("Ecom:Product.VariantID")) ? GetString("Ecom:Product.VariantID") : GetString("Ecom:Product.VariantID.Extented"); 22215 mainInfoIsFamilyMaster = string.IsNullOrEmpty(variantId); 22216 } 22217 } 22218 22219 bool mainInfoRenderVariantsAsProducts = mainInfoVariantsCount > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderVariantsAsProductList"); 22220 22221 if (mainInfoIsFamilyMember) 22222 { 22223 mainInfoRenderVariantsAsProducts = mainInfoVariantsCount > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderFamilyVariantsAsProducts") && mainInfoIsFamilyMaster; 22224 } 22225 22226 if (Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout") != null && mainInfoVariantsCount > 1) 22227 { 22228 mainInfoRenderVariantsAsProducts = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout").SelectedValue != "hide" && Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("EnableVariantMatrix") ? true : mainInfoRenderVariantsAsProducts; 22229 } 22230 22231 Block mainInfoHeader = new Block() 22232 { 22233 Id = "MainInfoHeader", 22234 SortId = 10, 22235 Template = RenderMainInfoHeader() 22236 }; 22237 mainInfoPage.Add("MainInformation", mainInfoHeader); 22238 22239 Block mainInfoDescription = new Block() 22240 { 22241 Id = "ShortDescription", 22242 SortId = 20, 22243 Template = RenderShortDescription() 22244 }; 22245 mainInfoPage.Add("MainInformation", mainInfoDescription); 22246 22247 if (!mainInfoRenderVariantsAsProducts && !mainInfoIsFamilyMember) 22248 { 22249 Block mainInfoVariants = new Block() 22250 { 22251 Id = "Variants", 22252 SortId = 50, 22253 Template = RenderMainInfoVariants() 22254 }; 22255 mainInfoPage.Add("MainInformation", mainInfoVariants); 22256 } 22257 22258 Block mainInfoBOM = new Block() 22259 { 22260 Id = "BOM", 22261 SortId = 60, 22262 Template = RenderMainInfoBOM() 22263 }; 22264 mainInfoPage.Add("MainInformation", mainInfoBOM); 22265 22266 if (!mainInfoRenderVariantsAsProducts) 22267 { 22268 if (!hideAddToCartButton) 22269 { 22270 Block mainInfoBuy = new Block() 22271 { 22272 Id = "Buy", 22273 SortId = 80, 22274 Template = RenderMainInfoBuy() 22275 }; 22276 mainInfoPage.Add("MainInformation", mainInfoBuy); 22277 } 22278 } 22279 22280 if (Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")) && User.IsBuyingAllowed() && GetPageIdByNavigationTag("OrderDraft") != 0) { 22281 Modal selectDraftModal = new Modal 22282 { 22283 Id = "OrderDraftSelect", 22284 Heading = new Heading { Title = Translate("Select draft cart"), Level = 2 }, 22285 BodyTemplate = RenderOrderDraftSelectModalContent(), 22286 Width = ModalWidth.Md 22287 }; 22288 selectDraftModal.AddAction(new Button { Title = Translate("Cancel"), OnClick = "document.getElementById('OrderDraftSelectModalTrigger').checked = false", ButtonLayout = ButtonLayout.Secondary }); 22289 selectDraftModal.AddAction(new Button { Title = Translate("Add"), OnClick = "addToSelectedCart()" }); 22290 22291 Block orderDraftSelect = new Block 22292 { 22293 Id = "OrderDraft", 22294 SortId = 90, 22295 Component = selectDraftModal 22296 }; 22297 mainInfoPage.Add("MainInformation", orderDraftSelect); 22298 22299 Modal notificationDraftModal = new Modal 22300 { 22301 Id = "OrderDraftNotification", 22302 Heading = new Heading { Title = Translate("Added to cart"), Level = 2 }, 22303 BodyText = Translate("The product has been added to the selected cart"), 22304 Width = ModalWidth.Md 22305 }; 22306 notificationDraftModal.AddAction(new Button { Title = Translate("View draft"), OnClick = "goToSelectedCart()", ButtonLayout = ButtonLayout.Secondary }); 22307 notificationDraftModal.AddAction(new Button { Title = Translate("Continue shopping"), OnClick = "document.getElementById('OrderDraftNotificationModalTrigger').checked = false" }); 22308 22309 Block orderDraftComplete = new Block 22310 { 22311 Id = "OrderDraftComplete", 22312 SortId = 100, 22313 Component = notificationDraftModal 22314 }; 22315 mainInfoPage.Add("MainInformation", orderDraftComplete); 22316 22317 22318 Block orderDraftScripts = new Block 22319 { 22320 Id = "OrderDraftScripts", 22321 SortId = 110, 22322 Template = RenderOrderDraftScripts() 22323 }; 22324 mainInfoPage.Add("MainInformation", orderDraftScripts); 22325 22326 Block googleTagManagerScripts = new Block 22327 { 22328 Id = "GoogleTagManagerScripts", 22329 SortId = 120, 22330 Template = RenderGoogleTagManagerScripts() 22331 }; 22332 mainInfoPage.Add("MainInformation", googleTagManagerScripts); 22333 } 22334 22335 22336 #line default 22337 #line hidden 22338 WriteLiteral("\r\n\r\n"); 22339 22340 WriteLiteral("\r\n"); 22341 22342 WriteLiteral("\r\n"); 22343 22344 WriteLiteral("\r\n"); 22345 22346 WriteLiteral("\r\n"); 22347 22348 WriteLiteral("\r\n"); 22349 22350 WriteLiteral("\r\n"); 22351 22352 WriteLiteral("\r\n"); 22353 22354 WriteLiteral("\r\n"); 22355 22356 WriteLiteral("\r\n"); 22357 22358 WriteLiteral("\r\n"); 22359 22360 WriteLiteral("\r\n"); 22361 22362 WriteLiteral("\r\n"); 22363 22364 22365 #line 4314 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22366 22367 string productAssetsLayout = !String.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductPage").GetString("ProductAssetsLayout")) ? Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductAssetsLayout").SelectedValue : "Section"; 22368 productAssetsLayout = productAssetsLayout == "Ribbon" ? "Section" : productAssetsLayout; 22369 22370 if (productAssetsLayout != "hide") 22371 { 22372 Block productAssetsBlock = new Block() 22373 { 22374 Name = productAssetsLayout != "MainInformation" ? Translate("Product assets") : "", 22375 Id = "ProductAssets", 22376 SortId = 10, 22377 Template = RenderProductAssets(productAssetsLayout, downloadDocuments), 22378 22379 #line default 22380 #line hidden 22381 22382 #line 4325 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22383 22384 Design = new Design 22385 { 22386 Size = "12", 22387 RenderType = RenderType.Column, 22388 HidePadding = true 22389 } 22390 }; 22391 productAssetsPage.Add(productAssetsLayout, productAssetsBlock); 22392 } 22393 22394 22395 #line default 22396 #line hidden 22397 WriteLiteral("\r\n\r\n"); 22398 22399 WriteLiteral("\r\n"); 22400 22401 WriteLiteral("\r\n"); 22402 22403 WriteLiteral("\r\n"); 22404 22405 WriteLiteral("\r\n"); 22406 22407 22408 #line 4529 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22409 22410 string generatePDFLayout = !String.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductPage").GetString("GeneratePDFLayout")) ? Pageview.AreaSettings.GetItem("ProductPage").GetList("GeneratePDFLayout").SelectedValue : "Section"; 22411 generatePDFLayout = generatePDFLayout == "Ribbon" ? "Section" : generatePDFLayout; 22412 22413 if (GetPageIdByNavigationTag("ProductPagePDFTemplates") > 0 && generatePDFLayout != "hide") 22414 { 22415 Block generatePDFBlock = new Block() 22416 { 22417 Name = generatePDFLayout != "MainInformation" ? Translate("Generate PDF") : "", 22418 Id = "GeneratePDF", 22419 SortId = 10, 22420 Template = RenderGeneratePDF(generatePDFLayout), 22421 Design = new Design 22422 { 22423 Size = "12", 22424 RenderType = RenderType.Column, 22425 HidePadding = true 22426 } 22427 }; 22428 22429 productGeneratePDFPage.Add(generatePDFLayout, generatePDFBlock); 22430 } 22431 22432 22433 #line default 22434 #line hidden 22435 WriteLiteral("\r\n\r\n"); 22436 22437 WriteLiteral("\r\n"); 22438 22439 WriteLiteral("\r\n"); 22440 22441 WriteLiteral("\r\n"); 22442 22443 22444 #line 4628 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22445 22446 string fullDesctiptionLayout = !String.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductPage").GetString("FullDescriptionLayout")) ? Pageview.AreaSettings.GetItem("ProductPage").GetList("FullDescriptionLayout").SelectedValue : "Section"; 22447 fullDesctiptionLayout = fullDesctiptionLayout == "Ribbon" ? "Section" : fullDesctiptionLayout; 22448 22449 if (!string.IsNullOrEmpty(GetString("Ecom:Product.LongDescription")) && fullDesctiptionLayout != "hide") 22450 { 22451 Block detailsDescription = new Block() 22452 { 22453 Name = fullDesctiptionLayout != "MainInformation" ? Translate("Description") : "", 22454 Id = "FullDescription", 22455 SortId = 30, 22456 Template = RenderProductDescription(fullDesctiptionLayout), 22457 Design = new Design 22458 { 22459 Size = "12", 22460 RenderType = RenderType.Column, 22461 HidePadding = true 22462 } 22463 }; 22464 productDescriptionPage.Add(fullDesctiptionLayout, detailsDescription); 22465 } 22466 22467 22468 #line default 22469 #line hidden 22470 WriteLiteral("\r\n\r\n"); 22471 22472 WriteLiteral("\r\n"); 22473 22474 WriteLiteral("\r\n"); 22475 22476 WriteLiteral("\r\n\r\n\r\n\r\n"); 22477 22478 22479 #line 4732 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22480 22481 var selectedDownloadCategories = Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadAssets").SelectedValues; 22482 var downloadsFromAssets = GetLoop("ImageCategories").Where(x => selectedDownloadCategories.Contains(x.GetString("Category.Id"))); 22483 22484 if (string.IsNullOrEmpty(selectedDownloadCategories.ToString())) { 22485 foreach (LoopItem customField in GetLoop("CustomFieldValues")) 22486 { 22487 if (!string.IsNullOrEmpty(customField.GetString("Product.CustomField.Name")) && !string.IsNullOrEmpty(customField.GetString("Product.CustomField.Value.Clean")) && customField.GetString("Product.CustomField.Name") != "Custom sticker" && customField.GetString("Product.CustomField.Name") != "RRP") 22488 { 22489 if (!string.IsNullOrEmpty(customField.GetString("Document.FullPath"))) 22490 { 22491 downloadDocuments.Add(customField); 22492 } 22493 } 22494 } 22495 22496 foreach (LoopItem customField in GetLoop("ProductCategories")) 22497 { 22498 foreach (LoopItem field in customField.GetLoop("ProductCategoryFields")) 22499 { 22500 if (!string.IsNullOrEmpty(field.GetString("Ecom:Product.CategoryField.Label")) && !string.IsNullOrEmpty(field.GetString("Ecom:Product.CategoryField.Value"))) 22501 { 22502 if (field.GetString("Ecom:Product.CategoryField.TypeID") == "9") 22503 { 22504 downloadDocuments.Add(field); 22505 } 22506 } 22507 } 22508 } 22509 } else { 22510 foreach (LoopItem category in downloadsFromAssets) { 22511 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 22512 downloadDocuments.Add(asset); 22513 } 22514 } 22515 } 22516 22517 bool collectAllDownloads = Pageview.AreaSettings.GetItem("ProductPage").GetString("CollectAllDownloads") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("CollectAllDownloads") : true; 22518 string detailFieldsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("DetailFieldsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DetailFieldsLayout").SelectedValue : "Section"; 22519 detailFieldsLayout = detailFieldsLayout == "Ribbon" || string.IsNullOrEmpty(detailFieldsLayout) ? "Section" : detailFieldsLayout; 22520 string categoryFieldsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("CategoryFieldsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("CategoryFieldsLayout").SelectedValue : "Section"; 22521 categoryFieldsLayout = categoryFieldsLayout == "Ribbon" || string.IsNullOrEmpty(categoryFieldsLayout) ? "Section" : categoryFieldsLayout; 22522 string displayGroupsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("DisplayGroupsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DisplayGroupsLayout").SelectedValue : "Section"; 22523 displayGroupsLayout = displayGroupsLayout == "Ribbon" || string.IsNullOrEmpty(displayGroupsLayout) ? "Section" : displayGroupsLayout; 22524 string downloadsFieldsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadsLayout").SelectedValue : "Section"; 22525 downloadsFieldsLayout = downloadsFieldsLayout == "Ribbon" || string.IsNullOrEmpty(downloadsFieldsLayout) ? "Section" : downloadsFieldsLayout; 22526 22527 string detailFieldsView = Pageview.AreaSettings.GetItem("ProductPage").GetList("DetailFieldsView") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DetailFieldsView").SelectedValue : "grid"; 22528 string categoryFieldsView = Pageview.AreaSettings.GetItem("ProductPage").GetList("CategoryFieldsView") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("CategoryFieldsView").SelectedValue : "grid"; 22529 string downloadsFieldsView = Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadsFieldsView") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadsFieldsView").SelectedValue : "grid"; 22530 22531 if (GetLoop("CustomFieldValues").Count > 0 && detailFieldsLayout != "hide") 22532 { 22533 if (string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductPage").GetString("ProductDetailFields"))) { 22534 Block detailsCustom = new Block() 22535 { 22536 Name = detailFieldsLayout != "MainInformation" ? Translate("Details") : "", 22537 Id = "CustomFields", 22538 SortId = 30, 22539 Design = new Design 22540 { 22541 Size = "12", 22542 RenderType = RenderType.Column, 22543 HidePadding = true 22544 } 22545 }; 22546 22547 detailsCustom.Template = RenderProductSection(detailFieldsLayout, detailFieldsView, Translate("Information"), RenderCustomFields(GetLoop("CustomFieldValues"), detailFieldsView)); 22548 productFieldsPage.Add(detailFieldsLayout, detailsCustom); 22549 } else { 22550 var detailFieldsDisplayGroups = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductDetailFields").SelectedValues; 22551 var displayGroups = GetLoop("FieldDisplayGroups").Where(x => detailFieldsDisplayGroups.Contains(x.GetString("Ecom:FieldDisplayGroup.ID"))); 22552 22553 foreach (var group in displayGroups) { 22554 Block detailsCustom = new Block() 22555 { 22556 Name = detailFieldsLayout != "MainInformation" ? group.GetString("Ecom:FieldDisplayGroup.Name") : "", 22557 Id = "DetailFields_" + group.GetString("Ecom:FieldDisplayGroup.ID"), 22558 SortId = 30, 22559 Design = new Design 22560 { 22561 Size = "12", 22562 RenderType = RenderType.Column, 22563 HidePadding = true 22564 } 22565 }; 22566 22567 detailsCustom.Template = RenderProductSection(detailFieldsLayout, detailFieldsView, Translate("Information"), RenderDetailsFields(group.GetLoop("Fields"), detailFieldsView)); 22568 productFieldsPage.Add(detailFieldsLayout, detailsCustom); 22569 } 22570 } 22571 } 22572 22573 if (categoryFieldsLayout != "hide") 22574 { 22575 foreach (LoopItem categoryGroup in GetLoop("ProductCategories")) 22576 { 22577 bool hasFields = categoryGroup.GetLoop("ProductCategoryFields").FirstOrDefault(cf => !string.IsNullOrEmpty(cf.GetString("Ecom:Product.CategoryField.Value"))) != null; 22578 22579 if (collectAllDownloads) 22580 { 22581 int downloadableCount = 0; 22582 foreach (LoopItem field in categoryGroup.GetLoop("ProductCategoryFields")) 22583 { 22584 if (field.GetString("Ecom:Product.CategoryField.TypeID") == "9") 22585 { 22586 downloadableCount++; 22587 } 22588 } 22589 22590 if (downloadableCount == categoryGroup.GetLoop("ProductCategoryFields").Count) 22591 { 22592 hasFields = false; 22593 } 22594 } 22595 22596 if (hasFields) 22597 { 22598 Block detailsCategoryFields = new Block() 22599 { 22600 Name = categoryFieldsLayout != "MainInformation" ? categoryGroup.GetString("Ecom:Product.Category.Name") : "", 22601 Id = ToPascalCase(categoryGroup.GetString("Ecom:Product.Category.Name")), 22602 SortId = 40, 22603 Template = RenderProductSection(categoryFieldsLayout, categoryFieldsView, categoryGroup.GetString("Ecom:Product.Category.Name"), RenderProductCategoryFields(categoryGroup.GetLoop("ProductCategoryFields"), categoryFieldsView)), 22604 Design = new Design 22605 { 22606 Size = "12", 22607 RenderType = RenderType.Column, 22608 HidePadding = true 22609 } 22610 }; 22611 22612 productFieldsPage.Add(categoryFieldsLayout, detailsCategoryFields); 22613 } 22614 } 22615 } 22616 22617 if (displayGroupsLayout != "hide") 22618 { 22619 var detailFieldsDisplayGroups = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductDetailFields").SelectedValues; 22620 var displayGroups = GetLoop("FieldDisplayGroups").Where(x => !detailFieldsDisplayGroups.Contains(x.GetString("Ecom:FieldDisplayGroup.ID"))); 22621 22622 foreach (LoopItem group in displayGroups) 22623 { 22624 Block displayGroup = new Block() 22625 { 22626 Name = displayGroupsLayout != "MainInformation" ? group.GetString("Ecom:FieldDisplayGroup.Name") : "", 22627 Id = "DisplayGroup_" + group.GetString("Ecom:FieldDisplayGroup.ID"), 22628 SortId = 40, 22629 Template = RenderProductSection(displayGroupsLayout, categoryFieldsView, group.GetString("Ecom:FieldDisplayGroup.Name"), RenderDetailsFields(group.GetLoop("Fields"), categoryFieldsView)), 22630 Design = new Design 22631 { 22632 Size = "12", 22633 RenderType = RenderType.Column, 22634 HidePadding = true 22635 } 22636 }; 22637 22638 productFieldsPage.Add(displayGroupsLayout, displayGroup); 22639 } 22640 } 22641 22642 if (downloadDocuments.Count > 0 && downloadsFieldsLayout != "hide" && collectAllDownloads == true) 22643 { 22644 Block detailsDownloads = new Block() 22645 { 22646 Name = downloadsFieldsLayout != "MainInformation" ? Translate("Downloads") : "", 22647 Id = "StandardDownloads", 22648 SortId = 50, 22649 Template = RenderProductSection(downloadsFieldsLayout, downloadsFieldsView, Translate("Downloads"), RenderProductDownloadsFields(downloadDocuments, downloadsFieldsView)), 22650 Design = new Design 22651 { 22652 Size = "12", 22653 RenderType = RenderType.Column, 22654 HidePadding = true 22655 } 22656 }; 22657 22658 productFieldsPage.Add(downloadsFieldsLayout, detailsDownloads); 22659 } 22660 22661 22662 #line default 22663 #line hidden 22664 WriteLiteral("\r\n\r\n"); 22665 22666 WriteLiteral("\r\n"); 22667 22668 WriteLiteral("\r\n"); 22669 22670 WriteLiteral("\r\n"); 22671 22672 WriteLiteral("\r\n"); 22673 22674 WriteLiteral("\r\n"); 22675 22676 WriteLiteral("\r\n"); 22677 22678 WriteLiteral("\r\n"); 22679 22680 WriteLiteral("\r\n"); 22681 22682 WriteLiteral("\r\n"); 22683 22684 22685 #line 5151 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22686 22687 var selectedVideoCategories = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideoAssets").SelectedValues; 22688 var videosFromAssets = GetLoop("ImageCategories").Where(x => selectedVideoCategories.Contains(x.GetString("Category.Id"))); 22689 22690 string videosLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideosLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("VideosLayout").SelectedValue : "Section"; 22691 videosLayout = videosLayout == "Ribbon" || string.IsNullOrEmpty(videosLayout) ? "Section" : videosLayout; 22692 22693 int videosCount = 0; 22694 22695 if (videosFromAssets != null) 22696 { 22697 foreach (LoopItem category in videosFromAssets) { 22698 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 22699 videosCount++; 22700 } 22701 } 22702 } else { 22703 foreach (LoopItem detailField in GetLoop("Details")) 22704 { 22705 if (detailField.GetString("Ecom:Product:Detail.Text").IndexOf("iframe") != -1 && detailField.GetString("Ecom:Product:Detail.Text").IndexOf("youtube.com/embed") != -1) 22706 { 22707 videosCount++; 22708 } 22709 if (detailField.GetString("Ecom:Product:Detail.Text").IndexOf("iframe") != -1 && detailField.GetString("Ecom:Product:Detail.Text").IndexOf("vimeo.com") != -1) 22710 { 22711 videosCount++; 22712 } 22713 } 22714 } 22715 22716 if (videosCount > 0 && videosLayout != "hide") 22717 { 22718 Block detailsVideos = new Block() 22719 { 22720 Name = videosLayout != "MainInformation" ? Translate("Videos") : "", 22721 Id = "Videos", 22722 SortId = 60, 22723 Template = RenderProductVideos(videosCount, videosLayout), 22724 Design = new Design 22725 { 22726 Size = "12", 22727 RenderType = RenderType.Column, 22728 HidePadding = true 22729 } 22730 }; 22731 productVideoPage.Add(videosLayout, detailsVideos); 22732 } 22733 22734 22735 #line default 22736 #line hidden 22737 WriteLiteral("\r\n\r\n"); 22738 22739 WriteLiteral("\r\n\r\n"); 22740 22741 WriteLiteral("\r\n"); 22742 22743 22744 #line 5278 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22745 22746 string relatedProductsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("RelatedProductsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("RelatedProductsLayout").SelectedValue : "Section"; 22747 relatedProductsLayout = relatedProductsLayout == "Ribbon" || string.IsNullOrEmpty(relatedProductsLayout) ? "Section" : relatedProductsLayout; 22748 bool relatedShowStock = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowStockAndShipping"); 22749 bool showAddToDownloadButton = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowAddToDownloadButton"); 22750 bool relatedShowPrice = !Pageview.AreaSettings.GetItem("ProductList").GetBoolean("HidePrice"); 22751 bool relatedShowFavoriteButton = !Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("HideFavoriteButton") && Pageview.User != null; 22752 bool relatedPointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 22753 bool relatedShowCartButton = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowAddToCartButton"); 22754 bool relatedShowViewButton = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowViewButton"); 22755 string relatedCartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 22756 string relatedMoreText = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetString("ViewMoreText")) ? Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetString("ViewMoreText") : "View"; 22757 bool relatedShowNumber = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowProductNumber"); 22758 string relatedImageZoomOnHover = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("HoverImageZoom") ? "image-hover--zoom" : ""; 22759 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 22760 22761 int relatedProductsPageSize = 4; 22762 22763 if (Pageview.Device.ToString() == "Mobile") 22764 { 22765 relatedProductsPageSize = 1; 22766 } 22767 22768 if (Pageview.Device.ToString() == "Tablet") 22769 { 22770 relatedProductsPageSize = 3; 22771 } 22772 22773 int relatedProductsColumnWidth = 12 / relatedProductsPageSize; 22774 22775 if (relatedProductsLayout != "hide") 22776 { 22777 var i = 0; 22778 foreach (LoopItem relatedGroup in GetLoop("ProductRelatedGroups")) 22779 { 22780 string relatedGroupId = ToPascalCase(relatedGroup.GetString("Ecom:Product:RelatedGroup.Name")); 22781 string baseFeedPageUrl = "Default.aspx?ID=" + GetPageIdByNavigationTag("ProductsPage") + "&PageSize=" + relatedProductsPageSize + "&ProdID=" + GetString("Ecom:Product.ID") + "&feed=true"; 22782 string relatedFeed = baseFeedPageUrl + "&" + relatedGroupId + "=" + GetString("Ecom:Product.ID")+ GetString("Ecom:Product.VariantID") + "&GroupName=" + relatedGroupId; 22783 string relatedGroupName = relatedProductsLayout != "maininformation" ? relatedGroup.GetString("Ecom:Product:RelatedGroup.Name") : ""; 22784 relatedFeed += isLiveProductInfoActive ? "&getproductinfo=true" : ""; 22785 relatedFeed = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(relatedFeed); 22786 i++; 22787 22788 Block detailsRelated = new Block() 22789 { 22790 Name = relatedGroupName, 22791 Id = relatedGroupId, 22792 SortId = 70 + i, 22793 Template = RenderRelatedProducts(relatedGroupName, relatedGroupId, relatedFeed, relatedProductsLayout), 22794 Design = new Design 22795 { 22796 Size = "12", 22797 RenderType = RenderType.Column, 22798 HidePadding = true 22799 } 22800 }; 22801 22802 productRelatedPage.Add(relatedProductsLayout, detailsRelated); 22803 } 22804 } 22805 22806 22807 #line default 22808 #line hidden 22809 WriteLiteral("\r\n\r\n"); 22810 22811 WriteLiteral("\r\n"); 22812 22813 WriteLiteral("\r\n <script"); 22814 22815 WriteLiteral(" id=\"ProductPreRenderContainer\""); 22816 22817 WriteLiteral(" type=\"text/x-template\""); 22818 22819 WriteLiteral(">\r\n <div class=\"u-h600px u-full-width\">\r\n <div class=\"grid\">\r\n " + 22820 " <div class=\"grid__col-12\">\r\n <div class=\"pre-render-element pr" + 22821 "e-render-element--md\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n</" + 22822 "script>\r\n\r\n"); 22823 22824 WriteLiteral("\r\n"); 22825 22826 WriteLiteral("\r\n<script"); 22827 22828 WriteLiteral(" id=\"ProductContainer\""); 22829 22830 WriteLiteral(" type=\"text/x-template\""); 22831 22832 WriteLiteral(">\r\n {{#.}}\r\n <div class=\"u-min-h400px u-full-width\">\r\n <div " + 22833 "class=\"grid\">\r\n <div class=\"grid__col-45px grid__col--bleed-x\">\r\n" + 22834 " <div class=\"grid__cell grid__cell--align-middle-left\">\r\n"); 22835 22836 22837 #line 5510 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22838 22839 22840 #line default 22841 #line hidden 22842 22843 #line 5510 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22844 22845 Button prevButton = new Button { Icon = new Icon { Prefix = "fas", Name = "fa-chevron-left fa-2x", LabelPosition = IconLabelPosition.After }, ButtonLayout = ButtonLayout.Clean, CssClass = "btn--condensed {{prevdisabled}} u-position-relative", OnClick = "HandlebarsBolt.UpdateContent('ProductList_{{groupName}}', '{{prevPage}}')" }; 22846 prevButton.ExtraAttributes.Add("", "{{prevdisabled}}"); 22847 22848 22849 #line default 22850 #line hidden 22851 WriteLiteral("\r\n"); 22852 22853 WriteLiteral(" "); 22854 22855 22856 #line 5514 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22857 Write(Render(prevButton)); 22858 22859 22860 #line default 22861 #line hidden 22862 WriteLiteral(@" 22863 </div> 22864 </div> 22865 <div class=""grid__col-auto grid__col--bleed-x""> 22866 <div id=""ProductsContainer"" data-template=""ProductGridItemContainer"" class=""grid product-list dw-mod"" data-save-cookie=""true""> 22867 {{#ProductsContainer}} 22868 <div id=""Product{{productId}}"" class=""grid__col-"); 22869 22870 22871 #line 5520 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22872 Write(relatedProductsColumnWidth); 22873 22874 22875 #line default 22876 #line hidden 22877 WriteLiteral(" product-list__grid-item "); 22878 22879 22880 #line 5520 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22881 Write(relatedImageZoomOnHover); 22882 22883 22884 #line default 22885 #line hidden 22886 WriteLiteral(@" dw-mod""> 22887 {{#Product}} 22888 <div class=""grid__col--auto js-product-scroll-trigger u-no-padding u-full-height"" data-params=""{{googleImpression}}""> 22889 <div class=""grid__cell product-list__grid-item__image dw-mod {{noImage}}""> 22890 <a href=""{{link}}"" 22891 onclick=""{{#if googleImpression}}googleEnchantImpressionClick({{googleImpression}}, event){{/if}}"" 22892 class=""u-block u-position-relative image-hover__wrapper dw-mod""> 22893 "); 22894 22895 WriteLiteral(" "); 22896 22897 22898 #line 5527 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22899 Write(Render(new Image { Path = "{{image}}", ImageDefault = new ImageSettings { Width = 300, Height = 300, Crop = 5, FillCanvas = true, DoNotUpscale = true }, Title = "{{name}}", CssClass = "grid__cell-img grid__cell-img--centered u-min-h180px" })); 22900 22901 22902 #line default 22903 #line hidden 22904 WriteLiteral(@" 22905 {{#StickersContainers}} 22906 {{>StickersContainer}} 22907 {{/StickersContainers}} 22908 </a> 22909 "); 22910 22911 22912 #line 5532 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22913 22914 22915 #line default 22916 #line hidden 22917 22918 #line 5532 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22919 if (relatedShowFavoriteButton) 22920 { 22921 22922 22923 #line default 22924 #line hidden 22925 WriteLiteral(" <div"); 22926 22927 WriteLiteral(" class=\"favorites favorites--for-grid-view u-pull--right {{hasVariants}} dw-mod\""); 22928 22929 WriteLiteral(@" {{hasVariants}}> 22930 {{#Favorite}} 22931 {{>FavoriteTemplate}} 22932 {{/Favorite}} 22933 </div> 22934 "); 22935 22936 22937 #line 5539 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22938 } 22939 22940 22941 #line default 22942 #line hidden 22943 WriteLiteral(@" </div> 22944 22945 <div class=""grid__cell product-list__grid-item__price-info dw-mod""> 22946 <a href=""{{link}}"" onclick=""{{#if googleImpression}}googleEnchantImpressionClick({{googleImpression}}, event){{/if}}"" title=""{{name}}"" class=""u-color-inherit""> 22947 "); 22948 22949 WriteLiteral(" "); 22950 22951 22952 #line 5544 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22953 Write(Render(new Heading { Title = "{{name}}", Level = 6, CssClass = "u-condensed-text u-bold" })); 22954 22955 22956 #line default 22957 #line hidden 22958 WriteLiteral("\r\n </a>\r\n\r\n"); 22959 22960 22961 #line 5547 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22962 22963 22964 #line default 22965 #line hidden 22966 22967 #line 5547 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22968 if (relatedShowNumber) 22969 { 22970 22971 22972 #line default 22973 #line hidden 22974 WriteLiteral(" <div"); 22975 22976 WriteLiteral(" class=\"item-number dw-mod\""); 22977 22978 WriteLiteral(">{{number}}</div>\r\n"); 22979 22980 22981 #line 5550 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22982 } 22983 22984 22985 #line default 22986 #line hidden 22987 WriteLiteral(" \r\n"); 22988 22989 WriteLiteral(" "); 22990 22991 22992 #line 5552 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 22993 Write(RenderGridViewPriceInfo()); 22994 22995 22996 #line default 22997 #line hidden 22998 WriteLiteral("\r\n </div>\r\n\r\n " + 22999 " <div class=\"product-list__grid-item__footer dw-mod\">\r\n"); 23000 23001 WriteLiteral(" "); 23002 23003 23004 #line 5556 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23005 Write(RenderProductGridItemAddToCart()); 23006 23007 23008 #line default 23009 #line hidden 23010 WriteLiteral("\r\n\r\n"); 23011 23012 23013 #line 5558 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23014 23015 23016 #line default 23017 #line hidden 23018 23019 #line 5558 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23020 if (User.IsStockInfoAllowed() && relatedShowStock) 23021 { 23022 23023 23024 #line default 23025 #line hidden 23026 WriteLiteral(" <div"); 23027 23028 WriteLiteral(" class=\"u-margin-top\""); 23029 23030 WriteLiteral(">\r\n <div><span"); 23031 23032 WriteLiteral(" class=\"stock-icon {{stockState}} u-no-margin dw-mod\""); 23033 23034 WriteLiteral(" title=\"{{stockText}}\""); 23035 23036 WriteLiteral(@"></span> {{stockText}}</div> 23037 <div> 23038 {{#if deliveryText}} 23039 {{deliveryText}} 23040 {{else}} 23041 - 23042 {{/if}} 23043 </div> 23044 </div> 23045 "); 23046 23047 23048 #line 5570 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23049 } 23050 23051 23052 #line default 23053 #line hidden 23054 WriteLiteral("\r\n"); 23055 23056 23057 #line 5572 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23058 23059 23060 #line default 23061 #line hidden 23062 23063 #line 5572 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23064 if (showAddToDownloadButton && Pageview.User != null) 23065 { 23066 Button addButton = new Button { Title = "<span class='js-button-text'>" + Translate("Add") + "</span>", ButtonLayout = ButtonLayout.Primary, CssClass = "u-no-margin u-margin-top btn--condensed dw-mod js-add-to-downloads", Icon = new Icon { Prefix = "fas", Name = "fa-plus", CssClass = "js-button-icon", LabelPosition = IconLabelPosition.After } }; 23067 addButton.ExtraAttributes.Add("data-product-id", "{{productId}}"); 23068 23069 23070 #line default 23071 #line hidden 23072 23073 #line 5576 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23074 Write(Render(addButton)); 23075 23076 23077 #line default 23078 #line hidden 23079 23080 #line 5576 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23081 23082 } 23083 23084 23085 #line default 23086 #line hidden 23087 WriteLiteral(@" </div> 23088 </div> 23089 {{/Product}} 23090 </div> 23091 {{/ProductsContainer}} 23092 </div> 23093 </div> 23094 <div class=""grid__col-45px grid__col--bleed-x""> 23095 <div class=""grid__cell grid__cell--align-middle-right""> 23096 "); 23097 23098 23099 #line 5587 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23100 23101 23102 #line default 23103 #line hidden 23104 23105 #line 5587 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23106 23107 Button nextButton = new Button { Icon = new Icon { Prefix = "fas", Name = "fa-chevron-right fa-2x", LabelPosition = IconLabelPosition.After }, ButtonLayout = ButtonLayout.Clean, CssClass = "btn--condensed {{nextdisabled}} u-position-relative", OnClick = "HandlebarsBolt.UpdateContent('ProductList_{{groupName}}', '{{nextPage}}')" }; 23108 nextButton.ExtraAttributes.Add("", "{{nextdisabled}}"); 23109 23110 23111 #line default 23112 #line hidden 23113 WriteLiteral("\r\n"); 23114 23115 WriteLiteral(" "); 23116 23117 23118 #line 5591 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23119 Write(Render(nextButton)); 23120 23121 23122 #line default 23123 #line hidden 23124 WriteLiteral("\r\n </div>\r\n </div>\r\n </div>\r\n " + 23125 " </div>\r\n {{/.}}\r\n</script>\r\n\r\n<script"); 23126 23127 WriteLiteral(" id=\"StickersContainer\""); 23128 23129 WriteLiteral(" type=\"text/x-template\""); 23130 23131 WriteLiteral(">\r\n <div class=\"stickers-container stickers-container--{{{convertStickerPositi" + 23132 "onToClassName Position}}} dw-mod\">\r\n {{#Stickers}}\r\n {{>Sticke" + 23133 "r}}\r\n {{/Stickers}}\r\n </div>\r\n</script>\r\n\r\n<script"); 23134 23135 WriteLiteral(" id=\"Sticker\""); 23136 23137 WriteLiteral(" type=\"text/x-template\""); 23138 23139 WriteLiteral(">\r\n"); 23140 23141 WriteLiteral(" "); 23142 23143 23144 #line 5608 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23145 Write(Render(new Sticker { Title = "{{Title}}", CssClass = "{{CssClass}}" })); 23146 23147 23148 #line default 23149 #line hidden 23150 WriteLiteral("\r\n</script>\r\n\r\n<script>\r\n"); 23151 23152 23153 #line 5612 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23154 23155 23156 #line default 23157 #line hidden 23158 23159 #line 5612 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23160 23161 bool relatedUseGoogleTagManager = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("Settings").GetString("GoogleTagManagerID")); 23162 23163 if (relatedUseGoogleTagManager) 23164 { 23165 23166 23167 #line default 23168 #line hidden 23169 WriteLiteral(" "); 23170 23171 WriteLiteral(@" 23172 document.addEventListener(""DOMContentLoaded"", function (event) { 23173 Scroll.AddIsInViewportListener("".js-product-scroll-trigger"", function (elem) { 23174 let googleImpression = JSON.parse(elem.getAttribute(""data-params"")); 23175 googleImpression.list = ""Related products""; 23176 googleEnchantImpression(googleImpression); 23177 elem.classList.remove(""js-product-scroll-trigger""); 23178 }); 23179 }); 23180 "); 23181 23182 WriteLiteral("\r\n"); 23183 23184 23185 #line 5627 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23186 } 23187 23188 23189 #line default 23190 #line hidden 23191 WriteLiteral("\r\n</script>\r\n"); 23192 23193 WriteLiteral("\r\n"); 23194 23195 WriteLiteral("\r\n"); 23196 23197 23198 #line 5650 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23199 23200 var variantsCount = GetInteger("Ecom:Product.VariantCount"); 23201 string variantsListLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue : "Section"; 23202 variantsListLayout = variantsListLayout == "Ribbon" ? "Section" : variantsListLayout; 23203 23204 //family members 23205 bool isFamilyMember = false; 23206 var variantGroups = GetLoop("VariantGroups"); 23207 var variantGroupCount = variantGroups.Count; 23208 if (variantGroupCount == 1) 23209 { 23210 var firstVariantGroup = Dynamicweb.Ecommerce.Services.VariantGroups.GetVariantGroup(Dynamicweb.Ecommerce.Common.Context.LanguageID, variantGroups[0]?.GetString("Ecom:VariantGroup.ID")); 23211 if (firstVariantGroup != null) 23212 { 23213 isFamilyMember = firstVariantGroup.Family; 23214 } 23215 } 23216 if (isFamilyMember) 23217 { 23218 variantListSettings["RenderVariantsAsProducts"] = variantsCount > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderFamilyVariantsAsProducts"); 23219 variantListSettings["RenderVariantGroupsInTable"] = false; 23220 variantListSettings["HideImage"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideImageForEachFamilyVariant"); 23221 variantListSettings["HideProductNumbers"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideFamilyProductNumbers"); 23222 } 23223 else 23224 { 23225 variantListSettings["RenderVariantsAsProducts"] = variantsCount > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderVariantsAsProductList"); 23226 variantListSettings["RenderVariantGroupsInTable"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderVariantGroupsInTable"); 23227 variantListSettings["HideImage"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideImageForEachVariant"); 23228 variantListSettings["HideProductNumbers"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideProductNumbers"); 23229 } 23230 23231 if (Converter.ToBoolean(variantListSettings["RenderVariantsAsProducts"]) && variantsListLayout != "hide" && (isFamilyMember || !isFamilyMember)) 23232 { 23233 productVariantsListPage.Add(variantsListLayout, new Block 23234 { 23235 Name = variantsListLayout != "MainInformation" ? Translate("Variants list") : "", 23236 Id = "VariantsList", 23237 SortId = 20, 23238 Template = RenderVariantsProductList(variantsListLayout), 23239 Design = new Design 23240 { 23241 Size = "12", 23242 RenderType = RenderType.Column, 23243 HidePadding = true 23244 } 23245 }); 23246 23247 productVariantsListPage.Add("Section", new Block 23248 { 23249 Id = "VariantListScripts", 23250 SortId = 100, 23251 Template = RenderVariantListScripts(), 23252 Design = new Design {} 23253 }); 23254 } 23255 23256 23257 #line default 23258 #line hidden 23259 WriteLiteral("\r\n\r\n"); 23260 23261 WriteLiteral("\r\n"); 23262 23263 WriteLiteral("\r\n\r\n"); 23264 23265 WriteLiteral("\r\n"); 23266 23267 WriteLiteral("\r\n\r\n"); 23268 23269 23270 #line 5979 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23271 23272 var matrixLayoutSetting = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout"); 23273 string variantsMatrixLayout = matrixLayoutSetting != null && !string.IsNullOrEmpty(matrixLayoutSetting.SelectedValue) ? matrixLayoutSetting.SelectedValue : "Section"; 23274 variantsMatrixLayout = variantsMatrixLayout == "Ribbon" ? "Section" : variantsMatrixLayout; 23275 bool renderVariantsAsMatrix = GetInteger("Ecom:Product.VariantCount") > 1 && variantsMatrixLayout.ToLower() != "hide" && Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("EnableVariantMatrix"); 23276 23277 if (renderVariantsAsMatrix) 23278 { 23279 Block variantsMatrix = new Block() 23280 { 23281 Name = Translate("Variants"), 23282 Id = "VariantsMatrix", 23283 SortId = 15, 23284 Template = RenderVariantsMatrixSection(variantsMatrixLayout), 23285 Design = new Design 23286 { 23287 Size = "12", 23288 RenderType = RenderType.Column, 23289 HidePadding = true 23290 } 23291 }; 23292 23293 if (variantsMatrixLayout == "Section") { 23294 productVariantsMatrixPage.Add(variantsMatrix); 23295 } else { 23296 productVariantsMatrixPage.Add(variantsMatrixLayout, variantsMatrix); 23297 } 23298 } 23299 23300 23301 #line default 23302 #line hidden 23303 WriteLiteral("\r\n\r\n"); 23304 23305 WriteLiteral("\r\n"); 23306 23307 WriteLiteral("\r\n\r\n"); 23308 23309 WriteLiteral("\r\n\r\n"); 23310 23311 WriteLiteral("\r\n"); 23312 23313 23314 #line 6294 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23315 23316 Block googleProductSchema = new Block() 23317 { 23318 Id = "GoogleProductSchema", 23319 SortId = 10, 23320 Template = RenderGoogleProductSchema() 23321 }; 23322 23323 productSnippetsPage.Add("Snippets", googleProductSchema); 23324 23325 23326 #line default 23327 #line hidden 23328 WriteLiteral("\r\n\r\n"); 23329 23330 WriteLiteral("\r\n"); 23331 23332 WriteLiteral("\r\n"); 23333 23334 WriteLiteral("\r\n"); 23335 23336 23337 #line 6354 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23338 23339 snippetsTemplatesPage.Add(new Block { 23340 Id = "FavoritesTemplates", 23341 SortId = 100, 23342 Template = RenderFavoritesTemplates() 23343 }); 23344 23345 23346 #line default 23347 #line hidden 23348 WriteLiteral("\r\n\r\n"); 23349 23350 23351 #line 6508 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23352 23353 List<LoopItem> loopProdPrices = GetLoop("Product.Prices").OrderBy(x => x.GetInteger("Ecom:Product.Prices.Quantity")).ThenBy(x => x.GetInteger("Ecom:Product.Prices.AmountWithVATFormatted")).GroupBy(x => x.GetInteger("Ecom:Product.Prices.Quantity")).Select(x => x.First()).ToList(); 23354 int loopProdPricesCount = loopProdPrices.Count; 23355 23356 // Block is called only if ProductType is Stock item (0), ShowQuantityPricingTable is set to true, and loop prices has more than one record. 23357 if (GetInteger("Ecom:Product.Type") == 0 && Pageview.AreaSettings.GetItem("Rizzo").GetBoolean("ShowQuantityPricingTable") && loopProdPricesCount > 1) 23358 { 23359 BlocksPage.GetBlockPage("Product").Add(ProductBlockId.MainInformation, new Block() 23360 { 23361 Id = "QuantityPrices", 23362 SortId = 40, 23363 Template = RizzoRenderQuantityPrices(loopProdPrices, loopProdPricesCount), 23364 Design = new Design 23365 { 23366 Size = "12", 23367 RenderType = RenderType.Column, 23368 HidePadding = true 23369 }, 23370 }); 23371 } 23372 23373 23374 #line default 23375 #line hidden 23376 WriteLiteral("\r\n\r\n"); 23377 23378 23379 #line 6597 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23380 23381 stockValidationWarningModal.Heading = new Heading {Title = Translate("Out of stock")}; 23382 stockValidationWarningModal.BodyTemplate = RenderWarningWindow(); 23383 23384 23385 #line default 23386 #line hidden 23387 WriteLiteral("\r\n\r\n"); 23388 23389 23390 #line 6640 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23391 23392 BlocksPage.GetBlockPage("Product").Add(GetStockValidationModal()); 23393 23394 23395 #line default 23396 #line hidden 23397 WriteLiteral("\r\n"); 23398 23399 WriteLiteral("\r\n\r\n"); 23400 23401 23402 #line 6708 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23403 23404 BlocksPage customProductBlocks = BlocksPage.GetBlockPage("Product"); 23405 23406 if (customProductBlocks.GetBlockById("Buy") != null) 23407 { 23408 customProductBlocks.GetBlockById("Buy").Template = RenderMainInfoBuyCustom(); 23409 } 23410 23411 if (customProductBlocks.GetBlockById("VariantListScripts") != null) 23412 { 23413 customProductBlocks.GetBlockById("VariantListScripts").Template = RenderVariantListScriptsCustom(); 23414 } 23415 23416 23417 #line default 23418 #line hidden 23419 WriteLiteral("\r\n\r\n"); 23420 23421 WriteLiteral("\r\n"); 23422 23423 WriteLiteral("\r\n"); 23424 23425 WriteLiteral("\r\n"); 23426 23427 WriteLiteral("\r\n\r\n<div"); 23428 23429 WriteLiteral(" class=\"product__info dw-mod u-margin-bottom--lg js-product\""); 23430 23431 WriteLiteral(">\r\n <div"); 23432 23433 WriteLiteral(" class=\"grid grid--align-content-start\""); 23434 23435 WriteLiteral(">\r\n "); 23436 23437 WriteLiteral("\r\n"); 23438 23439 WriteLiteral(" "); 23440 23441 23442 #line 7111 "F:\Domains\Sites\dev-kiesler.mydwsite3.com\Files\Templates\Designs\Rapido\eCom\Product\Product.cshtml" 23443 Write(RenderBlockList(productsPage.BlocksRoot.BlocksList)); 23444 23445 23446 #line default 23447 #line hidden 23448 WriteLiteral("\r\n </div>\r\n</div>\r\n\r\n"); 23449 23450 WriteLiteral("\r\n"); 23451 23452 WriteLiteral("\r\n"); 23453 23454 } 23455 } 23456 } 23457

1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 2 3 @using System.Web 4 @using Dynamicweb.Extensibility 5 @using Dynamicweb.Content 6 @using System 7 @using System.IO 8 @using Dynamicweb.Core 9 @using System.Web 10 @using System.Globalization 11 @using System.Web.UI.HtmlControls 12 @using Dynamicweb.Rapido.Blocks 13 @using Dynamicweb.Ecommerce 14 15 @functions { 16 List<LoopItem> downloadDocuments = new List<LoopItem>(); 17 //downloadDocuments variable, will be defined in Fields.cshtml and used in ProductAssets.cshtml 18 19 BlocksPage productsPage = BlocksPage.GetBlockPage("Product"); 20 21 public static string ToPascalCase(string str) 22 { 23 return CultureInfo.InvariantCulture.TextInfo 24 .ToTitleCase(str.ToLowerInvariant()) 25 .Replace("-", "") 26 .Replace("_", "") 27 .Replace(" ", ""); 28 } 29 } 30 31 @{ 32 string productBlocksPosition = Pageview.AreaSettings.GetItem("ProductPage").GetList("ImageSectionPosition") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("ImageSectionPosition").SelectedValue : "thumbs-image-info"; 33 bool productInfoOnTheRight = productBlocksPosition.LastIndexOf("info") == productBlocksPosition.Length - 4; 34 35 Block productTop = new Block() 36 { 37 Id = "Top", 38 SortId = 10, 39 SkipRenderBlocksList = true, 40 Template = RenderProductTop() 41 }; 42 productsPage.Add(productTop); 43 44 Block productMainInfo = new Block() 45 { 46 Id = "MainInformation", 47 SortId = productInfoOnTheRight ? 20 : 10, 48 Design = new Design 49 { 50 Size = "auto", 51 RenderType = RenderType.Column 52 } 53 }; 54 productsPage.Add("Top", productMainInfo); 55 56 //Optional mini tabs block 57 Block miniTabsBlock = new Block() 58 { 59 Id = "MiniTabs", 60 SortId = 40, 61 Template = RenderProductMiniTabs(), 62 SkipRenderBlocksList = true 63 }; 64 productsPage.Add("MainInformation", miniTabsBlock); 65 //----- 66 67 Block productTabsBlock = new Block() 68 { 69 Id = "Tabs", 70 SortId = 20, 71 Template = RenderProductTabs(), 72 SkipRenderBlocksList = true 73 }; 74 productsPage.Add(productTabsBlock); 75 76 Block productDetailsBlock = new Block() 77 { 78 Id = "Section", 79 SortId = 30 80 }; 81 productsPage.Add(productDetailsBlock); 82 83 Block productSnippetsBlock = new Block() 84 { 85 Id = "Snippets", 86 SortId = 40 87 }; 88 productsPage.Add(productSnippetsBlock); 89 } 90 91 @* Include the required Grid builder (Contains the methods @RenderBlockList and @RenderBlock) *@ 92 @using System.Text.RegularExpressions 93 @using System.Collections.Generic 94 @using System.Reflection 95 @using System.Web 96 @using System.Web.UI.HtmlControls 97 @using Dynamicweb.Rapido.Blocks.Components 98 @using Dynamicweb.Rapido.Blocks.Components.Articles 99 @using Dynamicweb.Rapido.Blocks.Components.Documentation 100 @using Dynamicweb.Rapido.Blocks 101 102 103 @*--- START: Base block renderers ---*@ 104 105 @helper RenderBlockList(List<Block> blocks) 106 { 107 bool debug = !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(HttpContext.Current.Request.QueryString.Get("debug")) : false; 108 blocks = blocks.OrderBy(item => item.SortId).ToList(); 109 110 foreach (Block item in blocks) 111 { 112 if (debug) { 113 <!-- Block START: @item.Id --> 114 } 115 116 if (item.Design == null) 117 { 118 @RenderBlock(item) 119 } 120 else if (item.Design.RenderType == RenderType.None) { 121 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 122 123 <div class="@cssClass dw-mod"> 124 @RenderBlock(item) 125 </div> 126 } 127 else if (item.Design.RenderType != RenderType.Hide) 128 { 129 string cssClass = item.Design.CssClass != null ? item.Design.CssClass : ""; 130 131 if (!item.SkipRenderBlocksList) { 132 if (item.Design.RenderType == RenderType.Row) 133 { 134 <div class="grid grid--align-content-start @cssClass dw-mod" id="Block__@item.Id"> 135 @RenderBlock(item) 136 </div> 137 } 138 139 if (item.Design.RenderType == RenderType.Column) 140 { 141 string hidePadding = item.Design.HidePadding ? "u-no-padding" : ""; 142 string size = item.Design.Size ?? "12"; 143 size = Regex.IsMatch(size, @"\d") ? "md-" + item.Design.Size : item.Design.Size; 144 145 <div class="grid__col-lg-@item.Design.Size grid__col-md-@item.Design.Size grid__col-sm-12 grid__col-xs-12 @hidePadding @cssClass dw-mod" id="Block__@item.Id"> 146 @RenderBlock(item) 147 </div> 148 } 149 150 if (item.Design.RenderType == RenderType.Table) 151 { 152 <table class="table @cssClass dw-mod" id="Block__@item.Id"> 153 @RenderBlock(item) 154 </table> 155 } 156 157 if (item.Design.RenderType == RenderType.TableRow) 158 { 159 <tr class="@cssClass dw-mod" id="Block__@item.Id"> 160 @RenderBlock(item) 161 </tr> 162 } 163 164 if (item.Design.RenderType == RenderType.TableColumn) 165 { 166 <td class="@cssClass dw-mod" id="Block__@item.Id"> 167 @RenderBlock(item) 168 </td> 169 } 170 171 if (item.Design.RenderType == RenderType.CardHeader) 172 { 173 <div class="card-header @cssClass dw-mod"> 174 @RenderBlock(item) 175 </div> 176 } 177 178 if (item.Design.RenderType == RenderType.CardBody) 179 { 180 <div class="card @cssClass dw-mod"> 181 @RenderBlock(item) 182 </div> 183 } 184 185 if (item.Design.RenderType == RenderType.CardFooter) 186 { 187 <div class="card-footer @cssClass dw-mod"> 188 @RenderBlock(item) 189 </div> 190 } 191 } 192 else 193 { 194 @RenderBlock(item) 195 } 196 } 197 198 if (debug) { 199 <!-- Block END: @item.Id --> 200 } 201 } 202 } 203 204 @helper RenderBlock(Block item) 205 { 206 bool debug = !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("debug")) ? Convert.ToBoolean(HttpContext.Current.Request.QueryString.Get("debug")) : false; 207 208 if (item.Template != null) 209 { 210 @BlocksPage.RenderTemplate(item.Template) 211 } 212 213 if (item.Component != null) 214 { 215 string customSufix = "Custom"; 216 string methodName = item.Component.HelperName; 217 218 ComponentBase[] methodParameters = new ComponentBase[1]; 219 methodParameters[0] = item.Component; 220 Type methodType = this.GetType(); 221 222 MethodInfo customMethod = methodType.GetMethod(methodName + customSufix); 223 MethodInfo generalMethod = methodType.GetMethod(methodName); 224 225 try { 226 if (debug) { 227 <!-- Component: @methodName.Replace("Render", "") --> 228 } 229 @customMethod.Invoke(this, methodParameters).ToString(); 230 } catch { 231 try { 232 @generalMethod.Invoke(this, methodParameters).ToString(); 233 } catch(Exception ex) { 234 throw new Exception(item.Component.GetType().Name + " method '" + methodName +"' could not be invoked", ex); 235 } 236 } 237 } 238 239 if (item.BlocksList.Count > 0 && !item.SkipRenderBlocksList) 240 { 241 @RenderBlockList(item.BlocksList) 242 } 243 } 244 245 @*--- END: Base block renderers ---*@ 246 247 @using Dynamicweb.Rapido.Blocks.Components 248 @using Dynamicweb.Rapido.Blocks.Components.General 249 @using Dynamicweb.Rapido.Blocks 250 @using System.IO 251 252 @* Required *@ 253 @using Dynamicweb.Rapido.Blocks.Components 254 @using Dynamicweb.Rapido.Blocks.Components.General 255 @using Dynamicweb.Rapido.Blocks 256 257 258 @helper Render(ComponentBase component) 259 { 260 if (component != null) 261 { 262 @component.Render(this) 263 } 264 } 265 266 @* Components *@ 267 @using System.Reflection 268 @using Dynamicweb.Rapido.Blocks.Components.General 269 270 271 @* Component *@ 272 273 @helper RenderIcon(Icon settings) 274 { 275 if (settings != null) 276 { 277 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 278 279 if (settings.Name != null) 280 { 281 if (string.IsNullOrEmpty(settings.Label)) 282 { 283 <i class="@settings.Prefix @settings.Name @settings.CssClass" @color></i> 284 } 285 else 286 { 287 if (settings.LabelPosition == IconLabelPosition.Before) 288 { 289 <div class="u-flex u-flex--align-items-center @settings.CssClass">@settings.Label <i class="@settings.Prefix @settings.Name u-margin-left" @color></i></div> 290 } 291 else 292 { 293 <div class="u-flex u-flex--align-items-center @settings.CssClass"><i class="@settings.Prefix @settings.Name u-margin-right--lg u-w20px" @color></i>@settings.Label</div> 294 } 295 } 296 } 297 else if (!string.IsNullOrEmpty(settings.Label)) 298 { 299 @settings.Label 300 } 301 } 302 } 303 @using System.Reflection 304 @using Dynamicweb.Rapido.Blocks.Components.General 305 @using Dynamicweb.Rapido.Blocks.Components 306 @using Dynamicweb.Core 307 308 @* Component *@ 309 310 @helper RenderButton(Button settings) 311 { 312 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 313 { 314 Dictionary<string, string> attributes = new Dictionary<string, string>(); 315 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 316 if (settings.Disabled) { 317 attributes.Add("disabled", "true"); 318 classList.Add("disabled"); 319 } 320 321 if (!string.IsNullOrEmpty(settings.ConfirmText) || !string.IsNullOrEmpty(settings.ConfirmTitle)) 322 { 323 settings.Id = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 324 @RenderConfirmDialog(settings); 325 settings.OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = true"; 326 } 327 328 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 329 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 330 if (!string.IsNullOrEmpty(settings.AltText)) 331 { 332 attributes.Add("title", settings.AltText); 333 } 334 335 var onClickEvents = new List<string>(); 336 if (!string.IsNullOrEmpty(settings.OnClick)) 337 { 338 onClickEvents.Add(settings.OnClick); 339 } 340 if (!string.IsNullOrEmpty(settings.Href)) 341 { 342 if (settings.Href.StartsWith("http") || settings.Href.StartsWith("/Files")) 343 { 344 onClickEvents.Add($"javascript:window.open('{settings.Href}', '_blank');"); 345 } 346 else 347 { 348 onClickEvents.Add("location.href='" + settings.Href + "'"); 349 } 350 } 351 if (onClickEvents.Count > 0) 352 { 353 attributes.Add("onClick", string.Join(";", onClickEvents)); 354 } 355 356 if (settings.ButtonLayout != ButtonLayout.None) 357 { 358 classList.Add("btn"); 359 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 360 if (btnLayout == "linkclean") 361 { 362 btnLayout = "link-clean"; //fix 363 } 364 classList.Add("btn--" + btnLayout); 365 } 366 367 if (settings.Icon == null) 368 { 369 settings.Icon = new Icon(); 370 } 371 372 settings.Icon.CssClass += Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower() != "linkclean" ? " u-flex--align-center" : ""; 373 settings.Icon.Label = settings.Title; 374 375 attributes.Add("type", Enum.GetName(typeof(ButtonType), settings.ButtonType).ToLower()); 376 377 <button class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@Render(settings.Icon)</button> 378 } 379 } 380 381 @helper RenderConfirmDialog(Button settings) 382 { 383 Modal confirmDialog = new Modal { 384 Id = settings.Id, 385 Width = ModalWidth.Sm, 386 Heading = new Heading 387 { 388 Level = 2, 389 Title = settings.ConfirmTitle 390 }, 391 BodyText = settings.ConfirmText 392 }; 393 394 confirmDialog.AddAction(new Button { Title = Translate("Cancel"), ButtonLayout = ButtonLayout.Secondary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false"}); 395 confirmDialog.AddAction(new Button { Title = Translate("OK"), ButtonLayout = ButtonLayout.Primary, OnClick = "document.getElementById('" + settings.Id + "ModalTrigger').checked = false;" + settings.OnClick }); 396 397 @Render(confirmDialog) 398 } 399 @using Dynamicweb.Rapido.Blocks.Components.General 400 @using Dynamicweb.Rapido.Blocks.Components 401 @using Dynamicweb.Core 402 403 @helper RenderDashboard(Dashboard settings) 404 { 405 var widgets = settings.GetWidgets(); 406 407 if (!string.IsNullOrEmpty(settings.WidgetsBaseBackgroundColor)) 408 { 409 //set bg color for them 410 411 System.Drawing.Color color = System.Drawing.ColorTranslator.FromHtml(settings.WidgetsBaseBackgroundColor); 412 int r = Convert.ToInt16(color.R); 413 int g = Convert.ToInt16(color.G); 414 int b = Convert.ToInt16(color.B); 415 416 var count = widgets.Length; 417 var max = Math.Max(r, Math.Max(g, b)); 418 double step = 255.0 / (max * count); 419 var i = 0; 420 foreach (var widget in widgets) 421 { 422 i++; 423 424 var shade = "rgb(" + Converter.ToString(r * step * i).Replace(",", ".") + ", " + Converter.ToString(g * step * i).Replace(",", ".") + ", " + Converter.ToString(b * step * i).Replace(",", ".") + ")"; 425 widget.BackgroundColor = shade; 426 } 427 } 428 429 <div class="dashboard @settings.CssClass dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 430 @foreach (var widget in widgets) 431 { 432 <div class="dashboard__widget"> 433 @Render(widget) 434 </div> 435 } 436 </div> 437 } 438 @using Dynamicweb.Rapido.Blocks.Components.General 439 @using Dynamicweb.Rapido.Blocks.Components 440 441 @helper RenderDashboardWidgetLink(DashboardWidgetLink settings) 442 { 443 if (!string.IsNullOrEmpty(settings.Link)) 444 { 445 var backgroundStyles = ""; 446 if (!string.IsNullOrEmpty(settings.BackgroundColor)) 447 { 448 backgroundStyles = "style=\"background-color:" + settings.BackgroundColor + "\""; 449 } 450 451 <a href="@settings.Link" class="widget widget--link @settings.CssClass dw-mod" @backgroundStyles title="@settings.Title" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 452 <div class="u-center-middle u-color-light"> 453 @if (settings.Icon != null) 454 { 455 settings.Icon.CssClass += "widget__icon"; 456 @Render(settings.Icon) 457 } 458 <div class="widget__title">@settings.Title</div> 459 </div> 460 </a> 461 } 462 } 463 @using Dynamicweb.Rapido.Blocks.Components.General 464 @using Dynamicweb.Rapido.Blocks.Components 465 466 @helper RenderDashboardWidgetCounter(DashboardWidgetCounter settings) 467 { 468 var backgroundStyles = ""; 469 if (!string.IsNullOrEmpty(settings.BackgroundColor)) 470 { 471 backgroundStyles = "style='background-color:" + settings.BackgroundColor + "'"; 472 } 473 474 <div class="widget @settings.CssClass dw-mod" @backgroundStyles @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 475 <div class="u-center-middle u-color-light"> 476 @if (settings.Icon != null) 477 { 478 settings.Icon.CssClass += "widget__icon"; 479 @Render(settings.Icon) 480 } 481 <div class="widget__counter">@settings.Count</div> 482 <div class="widget__title">@settings.Title</div> 483 </div> 484 </div> 485 } 486 @using System.Reflection 487 @using Dynamicweb.Rapido.Blocks.Components.General 488 @using Dynamicweb.Rapido.Blocks.Components 489 @using Dynamicweb.Core 490 491 @* Component *@ 492 493 @helper RenderLink(Link settings) 494 { 495 if (settings != null && !string.IsNullOrEmpty(settings.Href) && (!string.IsNullOrEmpty(settings.Title) || settings.Icon != null)) 496 { 497 Dictionary<string, string> attributes = new Dictionary<string, string>(); 498 List<string> classList = settings.CssClass != null ? settings.CssClass.Split(' ').ToList() : new List<string>(); 499 if (settings.Disabled) 500 { 501 attributes.Add("disabled", "true"); 502 classList.Add("disabled"); 503 } 504 505 if (!string.IsNullOrEmpty(settings.AltText)) 506 { 507 attributes.Add("title", settings.AltText); 508 } 509 else if (!string.IsNullOrEmpty(settings.Title)) 510 { 511 attributes.Add("title", settings.Title); 512 } 513 514 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 515 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 516 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onClick", settings.OnClick); } 517 attributes.Add("href", settings.Href); 518 519 if (settings.ButtonLayout != ButtonLayout.None) 520 { 521 classList.Add("btn"); 522 string btnLayout = Enum.GetName(typeof(ButtonLayout), settings.ButtonLayout).ToLower(); 523 if (btnLayout == "linkclean") 524 { 525 btnLayout = "link-clean"; //fix 526 } 527 classList.Add("btn--" + btnLayout); 528 } 529 530 if (settings.Icon == null) 531 { 532 settings.Icon = new Icon(); 533 } 534 settings.Icon.Label = settings.Title; 535 536 if (settings.Target == LinkTargetType.Blank && settings.Rel == LinkRelType.None) 537 { 538 settings.Rel = LinkRelType.Noopener; 539 } 540 if (settings.Target != LinkTargetType.None) 541 { 542 attributes.Add("target", "_" + Enum.GetName(typeof(LinkTargetType), settings.Target).ToLower()); 543 } 544 else if (settings.Href.StartsWith("http") || settings.Href.StartsWith("/Files")) 545 { 546 attributes.Add("target", "_blank"); 547 } 548 549 if (settings.Download) 550 { 551 attributes.Add("download", "true"); 552 } 553 if (settings.Rel != LinkRelType.None) 554 { 555 attributes.Add("rel", Enum.GetName(typeof(LinkRelType), settings.Rel).ToLower()); 556 } 557 558 <a class="@string.Join(" ", classList) dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@Render(settings.Icon)</a> 559 } 560 } 561 @using System.Reflection 562 @using Dynamicweb.Rapido.Blocks.Components 563 @using Dynamicweb.Rapido.Blocks.Components.General 564 @using Dynamicweb.Rapido.Blocks 565 566 567 @* Component *@ 568 569 @helper RenderRating(Rating settings) 570 { 571 if (settings.Score > 0) 572 { 573 int rating = settings.Score; 574 string iconType = "fa-star"; 575 576 switch (settings.Type.ToString()) { 577 case "Stars": 578 iconType = "fa-star"; 579 break; 580 case "Hearts": 581 iconType = "fa-heart"; 582 break; 583 case "Lemons": 584 iconType = "fa-lemon"; 585 break; 586 case "Bombs": 587 iconType = "fa-bomb"; 588 break; 589 } 590 591 <div class="u-ta-right"> 592 @for (int i = 0; i < settings.OutOf; i++) 593 { 594 <i class="@(rating > i ? "fas" : "far") @iconType"></i> 595 } 596 </div> 597 } 598 } 599 @using System.Reflection 600 @using Dynamicweb.Rapido.Blocks.Components.General 601 @using Dynamicweb.Rapido.Blocks.Components 602 603 604 @* Component *@ 605 606 @helper RenderSelectFieldOption(SelectFieldOption settings) 607 { 608 Dictionary<string, string> attributes = new Dictionary<string, string>(); 609 if (settings.Checked) { attributes.Add("selected", "true"); } 610 if (settings.Disabled) { attributes.Add("disabled", "true"); } 611 if (settings.Value != null) { attributes.Add("value", settings.Value); } 612 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 613 614 <option @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@settings.Label</option> 615 } 616 @using System.Reflection 617 @using Dynamicweb.Rapido.Blocks.Components.General 618 @using Dynamicweb.Rapido.Blocks.Components 619 620 621 @* Component *@ 622 623 @helper RenderNavigation(Navigation settings) { 624 @RenderNavigation(new 625 { 626 id = settings.Id, 627 cssclass = settings.CssClass, 628 startLevel = settings.StartLevel, 629 endlevel = settings.EndLevel, 630 expandmode = settings.Expandmode, 631 sitemapmode = settings.SitemapMode, 632 template = settings.Template 633 }) 634 } 635 @using Dynamicweb.Rapido.Blocks.Components.General 636 @using Dynamicweb.Rapido.Blocks.Components 637 638 639 @* Component *@ 640 641 @helper RenderBreadcrumbNavigation(BreadcrumbNavigation settings) { 642 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id; 643 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template; 644 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel; 645 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel; 646 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode; 647 settings.SitemapMode = false; 648 649 @RenderNavigation(settings) 650 } 651 @using Dynamicweb.Rapido.Blocks.Components.General 652 @using Dynamicweb.Rapido.Blocks.Components 653 654 655 @* Component *@ 656 657 @helper RenderLeftNavigation(LeftNavigation settings) { 658 settings.Id = String.IsNullOrEmpty(settings.Id) ? "breadcrumb" : settings.Id; 659 settings.Template = String.IsNullOrEmpty(settings.Template) ? "Breadcrumb.xslt" : settings.Template; 660 settings.StartLevel = settings.StartLevel == 0 ? 1 : settings.StartLevel; 661 settings.EndLevel = settings.EndLevel == 10 ? 1 : settings.EndLevel; 662 settings.Expandmode = String.IsNullOrEmpty(settings.Expandmode) ? "all" : settings.Expandmode; 663 664 <div class="grid__cell"> 665 @RenderNavigation(settings) 666 </div> 667 } 668 @using System.Reflection 669 @using Dynamicweb.Rapido.Blocks.Components.General 670 @using Dynamicweb.Core 671 672 @* Component *@ 673 674 @helper RenderHeading(Heading settings) 675 { 676 if (settings != null && !string.IsNullOrEmpty(settings.Title)) 677 { 678 string color = settings.Color != null ? "style=\"color: " + settings.Color + "\"" : ""; 679 string tagName = settings.Level != 0 ? "h" + settings.Level.ToString() : "div"; 680 681 @("<" + tagName + " class=\"" + settings.CssClass + " dw-mod\" " + color + ">") 682 if (!string.IsNullOrEmpty(settings.Link)) 683 { 684 @Render(new Link { Href = settings.Link, Icon = settings.Icon, Title = settings.Title, ButtonLayout = ButtonLayout.None }) 685 } 686 else 687 { 688 if (settings.Icon == null) 689 { 690 settings.Icon = new Icon(); 691 } 692 settings.Icon.Label = settings.Title; 693 @Render(settings.Icon) 694 } 695 @("</" + tagName + ">"); 696 } 697 } 698 @using Dynamicweb.Rapido.Blocks.Components 699 @using Dynamicweb.Rapido.Blocks.Components.General 700 @using Dynamicweb.Rapido.Blocks 701 702 703 @* Component *@ 704 705 @helper RenderImage(Image settings) 706 { 707 string target = !string.IsNullOrEmpty(settings.Link) && (settings.Link.StartsWith("http") || settings.Link.StartsWith("/Files")) ? "target='_blank'" : ""; 708 if (settings.FilterPrimary != ImageFilter.None || settings.FilterSecondary != ImageFilter.None) 709 { 710 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 711 if (!string.IsNullOrEmpty(settings.FilterColor)) { optionalAttributes.Add("style", "background-color: " + settings.FilterColor); } 712 713 if (settings.Caption != null) 714 { 715 @:<div> 716 } 717 718 var primaryFilterClass = settings.FilterPrimary.ToString().ToLower(); 719 var secondaryFilterClass = settings.FilterSecondary.ToString().ToLower(); 720 721 <div class="image-filter image-filter--@primaryFilterClass u-position-relative dw-mod" @ComponentMethods.AddAttributes(optionalAttributes)> 722 <div class="image-filter image-filter--@secondaryFilterClass dw-mod"> 723 @if (settings.Link != null) 724 { 725 <a href="@settings.Link" @target> 726 @RenderTheImage(settings) 727 </a> 728 } 729 else 730 { 731 @RenderTheImage(settings) 732 } 733 </div> 734 </div> 735 736 if (settings.Caption != null) 737 { 738 <span class="image-caption dw-mod">@settings.Caption</span> 739 @:</div> 740 } 741 } 742 else 743 { 744 if (settings.Caption != null) 745 { 746 @:<div> 747 } 748 if (!string.IsNullOrEmpty(settings.Link)) 749 { 750 <a href="@settings.Link" @target> 751 @RenderTheImage(settings) 752 </a> 753 } 754 else 755 { 756 @RenderTheImage(settings) 757 } 758 759 if (settings.Caption != null) 760 { 761 <span class="image-caption dw-mod">@settings.Caption</span> 762 @:</div> 763 } 764 } 765 } 766 767 @helper RenderTheImage(Image settings) 768 { 769 if (settings != null) 770 { 771 string alternativeImage = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("Settings").GetString("AlternativeImage")) ? Pageview.AreaSettings.GetItem("Settings").GetFile("AlternativeImage").PathUrlEncoded : "/Images/missing_image.jpg"; 772 string placeholderImage = "/Files/Images/placeholder.gif"; 773 string imageEngine = "/Admin/Public/GetImage.ashx?"; 774 775 string imageStyle = ""; 776 777 switch (settings.Style) 778 { 779 case ImageStyle.Ball: 780 imageStyle = "grid__cell-img--ball"; 781 break; 782 783 case ImageStyle.Triangle: 784 imageStyle = "grid__cell-img--triangle"; 785 break; 786 } 787 788 if (settings.Style == ImageStyle.Ball || settings.Style == ImageStyle.Circle || settings.Style == ImageStyle.Triangle) 789 { 790 settings.ImageDefault.Crop = settings.ImageDefault.Crop == 5 ? settings.ImageDefault.Crop = 0 : settings.ImageDefault.Crop; 791 792 if (settings.ImageDefault != null) 793 { 794 settings.ImageDefault.Height = settings.ImageDefault.Width; 795 } 796 if (settings.ImageMedium != null) 797 { 798 settings.ImageMedium.Height = settings.ImageMedium.Width; 799 } 800 if (settings.ImageSmall != null) 801 { 802 settings.ImageSmall.Height = settings.ImageSmall.Width; 803 } 804 } 805 806 string defaultImage = imageEngine; 807 string imageSmall = ""; 808 string imageMedium = ""; 809 810 if (settings.DisableImageEngine) 811 { 812 defaultImage = settings.Path; 813 814 if (settings.ImageDefault != null) 815 { 816 placeholderImage = imageEngine + Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault) + "Image=" + placeholderImage; 817 } 818 } 819 else 820 { 821 if (settings.ImageDefault != null) 822 { 823 if (settings.ImageDefault.Format == ImageFormat.Default) 824 { 825 settings.ImageDefault.Format = ImageFormat.WebP; 826 } 827 828 defaultImage += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault); 829 placeholderImage = imageEngine + Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageDefault) + "Image=" + placeholderImage; 830 831 if (settings.Path.GetType() != typeof(string)) 832 { 833 defaultImage += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 834 defaultImage += settings.Path != null && settings.Path.GetFocalPointParameters() != "" ? "&" + settings.Path.GetFocalPointParameters() : ""; 835 } 836 else 837 { 838 defaultImage += settings.Path != null ? "Image=" + settings.Path : ""; 839 } 840 841 defaultImage += "&AlternativeImage=" + alternativeImage; 842 } 843 844 if (settings.ImageSmall != null) 845 { 846 if (settings.ImageSmall.Format == ImageFormat.Default) 847 { 848 settings.ImageSmall.Format = ImageFormat.WebP; 849 } 850 851 imageSmall = "data-src-small=\"" + imageEngine; 852 imageSmall += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageSmall); 853 854 if (settings.Path.GetType() != typeof(string)) 855 { 856 imageSmall += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 857 imageSmall += settings.Path != null && settings.Path.GetFocalPointParameters() != "" ? "&" + settings.Path.GetFocalPointParameters() : ""; 858 } 859 else 860 { 861 imageSmall += settings.Path != null ? "Image=" + settings.Path : ""; 862 } 863 864 imageSmall += "&alternativeImage=" + alternativeImage; 865 866 imageSmall += "\""; 867 } 868 869 if (settings.ImageMedium != null) 870 { 871 if (settings.ImageMedium.Format == ImageFormat.Default) 872 { 873 settings.ImageMedium.Format = ImageFormat.WebP; 874 } 875 876 imageMedium = "data-src-medium=\"" + imageEngine; 877 imageMedium += Dynamicweb.Rapido.Services.Images.GetImagePathFromSettings(settings.ImageMedium); 878 879 if (settings.Path.GetType() != typeof(string)) 880 { 881 imageMedium += settings.Path != null ? "Image=" + settings.Path.PathUrlEncoded : ""; 882 imageMedium += settings.Path != null && settings.Path.GetFocalPointParameters() != "" ? "&" + settings.Path.GetFocalPointParameters() : ""; 883 } 884 else 885 { 886 imageMedium += settings.Path != null ? "Image=" + settings.Path : ""; 887 } 888 889 imageMedium += "&alternativeImage=" + alternativeImage; 890 891 imageMedium += "\""; 892 } 893 } 894 895 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 896 if (!string.IsNullOrEmpty(settings.OnClick)) { optionalAttributes.Add("onclick", settings.OnClick); } 897 if (!string.IsNullOrEmpty(settings.Title)) 898 { 899 optionalAttributes.Add("alt", settings.Title); 900 } 901 else 902 { 903 optionalAttributes.Add("alt", ""); 904 } 905 906 var height = ""; 907 var width = ""; 908 909 if (settings.ImageDefault?.Width > 0) 910 { 911 width = $"width='{settings.ImageDefault.Width}'"; 912 } 913 914 if (settings.ImageDefault?.Height > 0) 915 { 916 height = $"height='{settings.ImageDefault.Height}'"; 917 } 918 919 if (settings.DisableLazyLoad) 920 { 921 <img @height @width id="@settings.Id" class="@imageStyle @settings.CssClass dw-mod" src="@defaultImage" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) /> 922 } 923 else 924 { 925 <img @height @width id="@settings.Id" class="b-lazy @imageStyle @settings.CssClass dw-mod" src="@placeholderImage" data-src="@defaultImage" @imageSmall @imageMedium @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes) /> 926 } 927 } 928 } 929 @using System.Reflection 930 @using Dynamicweb.Rapido.Blocks.Components.General 931 @using Dynamicweb.Rapido.Blocks.Components 932 933 @* Component *@ 934 935 @helper RenderFileField(FileField settings) 936 { 937 var attributes = new Dictionary<string, string>(); 938 if (string.IsNullOrEmpty(settings.Id)) 939 { 940 settings.Id = Guid.NewGuid().ToString("N"); 941 } 942 943 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 944 if (settings.Disabled) { attributes.Add("disabled", "true"); } 945 if (settings.Required) { attributes.Add("required", "true"); } 946 if (settings.Multiple) { attributes.Add("multiple", "true"); } 947 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 948 if (string.IsNullOrEmpty(settings.ChooseFileText)) 949 { 950 settings.ChooseFileText = Translate("Choose file"); 951 } 952 if (string.IsNullOrEmpty(settings.NoFilesChosenText)) 953 { 954 settings.NoFilesChosenText = Translate("No files chosen..."); 955 } 956 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 957 958 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 959 960 string setValueToFakeInput = "FileUpload.setValueToFakeInput(this)"; 961 attributes.Add("onchange", setValueToFakeInput + (!string.IsNullOrEmpty(settings.OnChange) ? settings.OnChange : "")); 962 963 attributes.Add("type", "file"); 964 if (settings.Value != null) { attributes.Add("value", settings.Value); } 965 settings.CssClass = "u-full-width " + settings.CssClass; 966 967 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 968 969 <div class="form__field-group u-full-width @settings.WrapperCssClass dw-mod"> 970 @if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 971 { 972 <div class="u-full-width"> 973 @if (!string.IsNullOrEmpty(settings.Label)) { <label for="@settings.Id" class="u-pull--left">@settings.Label</label> } 974 @if (settings.Link != null) { 975 <div class="u-pull--right"> 976 @{ settings.Link.ButtonLayout = ButtonLayout.LinkClean; } 977 @Render(settings.Link) 978 </div> 979 } 980 </div> 981 982 } 983 984 @if (!string.IsNullOrEmpty(settings.HelpText)) 985 { 986 <small class="form__help-text">@settings.HelpText</small> 987 } 988 989 <div class="form__field-combi file-input u-no-margin dw-mod"> 990 <input @ComponentMethods.AddAttributes(resultAttributes) class="file-input__real-input u-visually-hidden hidden-required-input" data-no-files-text="@settings.NoFilesChosenText" data-many-files-text="@Translate("files")" /> 991 <label for="@settings.Id" class="file-input__btn btn--secondary btn dw-mod">@settings.ChooseFileText</label> 992 <label for="@settings.Id" class="@settings.CssClass file-input__fake-input js-fake-input dw-mod">@settings.NoFilesChosenText</label> 993 @if (settings.UploadButton != null) 994 { 995 settings.UploadButton.CssClass += " btn--condensed u-no-margin"; 996 @Render(settings.UploadButton) 997 } 998 </div> 999 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1000 </div> 1001 } 1002 @using System.Reflection 1003 @using Dynamicweb.Rapido.Blocks.Components.General 1004 @using Dynamicweb.Rapido.Blocks.Components 1005 @using Dynamicweb.Core 1006 @using System.Linq 1007 1008 @* Component *@ 1009 1010 @helper RenderDateTimeField(DateTimeField settings) 1011 { 1012 if (string.IsNullOrEmpty(settings.Id)) 1013 { 1014 settings.Id = Guid.NewGuid().ToString("N"); 1015 } 1016 1017 var textField = new TextField { 1018 Name = settings.Name, 1019 Id = settings.Id, 1020 Label = settings.Label, 1021 HelpText = settings.HelpText, 1022 Value = settings.Value, 1023 Disabled = settings.Disabled, 1024 Required = settings.Required, 1025 ErrorMessage = settings.ErrorMessage, 1026 CssClass = settings.CssClass, 1027 WrapperCssClass = settings.WrapperCssClass, 1028 OnChange = settings.OnChange, 1029 OnClick = settings.OnClick, 1030 Link = settings.Link, 1031 ExtraAttributes = settings.ExtraAttributes, 1032 // 1033 Placeholder = settings.Placeholder 1034 }; 1035 1036 @Render(textField) 1037 1038 List<string> jsAttributes = new List<string>(); 1039 1040 jsAttributes.Add("mode: '" + Enum.GetName(typeof(DateTimeFieldMode), settings.Mode).ToLower() + "'"); 1041 1042 if (!string.IsNullOrEmpty(settings.DateFormat)) 1043 { 1044 jsAttributes.Add("dateFormat: '" + settings.DateFormat + "'"); 1045 } 1046 if (!string.IsNullOrEmpty(settings.MinDate)) 1047 { 1048 jsAttributes.Add("minDate: '" + settings.MinDate + "'"); 1049 } 1050 if (!string.IsNullOrEmpty(settings.MaxDate)) 1051 { 1052 jsAttributes.Add("maxDate: '" + settings.MaxDate + "'"); 1053 } 1054 if (settings.IsInline) 1055 { 1056 jsAttributes.Add("inline: " + Converter.ToString(settings.IsInline).ToLower()); 1057 } 1058 if (settings.EnableTime) 1059 { 1060 jsAttributes.Add("enableTime: " + Converter.ToString(settings.EnableTime).ToLower()); 1061 } 1062 if (settings.EnableWeekNumbers) 1063 { 1064 jsAttributes.Add("weekNumbers: " + Converter.ToString(settings.EnableWeekNumbers).ToLower()); 1065 } 1066 1067 jsAttributes.AddRange(settings.GetFlatPickrOptions().Select(x => x.Key + ": " + x.Value)); 1068 1069 <script> 1070 document.addEventListener("DOMContentLoaded", function () { 1071 flatpickr("#@textField.Id", { 1072 @string.Join(",", jsAttributes) 1073 }); 1074 }); 1075 </script> 1076 } 1077 @using System.Reflection 1078 @using Dynamicweb.Rapido.Blocks.Components.General 1079 @using Dynamicweb.Rapido.Blocks.Components 1080 1081 @* Component *@ 1082 1083 @helper RenderTextField(TextField settings) 1084 { 1085 var attributes = new Dictionary<string, string>(); 1086 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 1087 { 1088 settings.Id = Guid.NewGuid().ToString("N"); 1089 } 1090 1091 /*base settings*/ 1092 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1093 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 1094 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 1095 if (settings.Disabled) { attributes.Add("disabled", "true"); } 1096 if (settings.Required) { attributes.Add("required", "true"); } 1097 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1098 /*end*/ 1099 1100 if (!string.IsNullOrEmpty(settings.OnKeyUp)) { attributes.Add("onkeyup", settings.OnKeyUp); } 1101 if (!string.IsNullOrEmpty(settings.OnInput)) { attributes.Add("oninput", settings.OnInput); } 1102 if (!string.IsNullOrEmpty(settings.OnFocus)) { attributes.Add("onfocus", settings.OnFocus); } 1103 if (settings.ReadOnly) { attributes.Add("readonly", "true"); } 1104 if (settings.MaxLength != 0) { attributes.Add("maxlength", settings.MaxLength.ToString()); } 1105 if (!string.IsNullOrEmpty(settings.Placeholder)) { attributes.Add("placeholder", settings.Placeholder); } 1106 attributes.Add("type", Enum.GetName(typeof(TextFieldType), settings.Type).ToLower()); 1107 if (settings.Type == TextFieldType.Password) { attributes.Add("autocomplete", "off"); }; 1108 if (settings.Value != null) { attributes.Add("value", settings.Value); } 1109 1110 settings.CssClass = "u-full-width " + settings.CssClass; 1111 1112 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 1113 1114 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 1115 1116 string noMargin = "u-no-margin"; 1117 if (!settings.ReadOnly) { 1118 noMargin = ""; 1119 } 1120 1121 <div class="form__field-group u-full-width @noMargin @settings.WrapperCssClass dw-mod"> 1122 @if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 1123 { 1124 <div class="u-full-width"> 1125 @if (!string.IsNullOrEmpty(settings.Label)) { <label for="@settings.Id" class="u-pull--left">@settings.Label</label> } 1126 @if (settings.Link != null) { 1127 <div class="u-pull--right"> 1128 @Render(settings.Link) 1129 </div> 1130 } 1131 </div> 1132 1133 } 1134 1135 @if (!string.IsNullOrEmpty(settings.HelpText)) 1136 { 1137 <small class="form__help-text">@settings.HelpText</small> 1138 } 1139 1140 @if (settings.ActionButton != null) 1141 { 1142 settings.ActionButton.CssClass += " btn--condensed u-no-margin"; 1143 <div class="form__field-combi u-no-margin dw-mod"> 1144 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" /> 1145 @Render(settings.ActionButton) 1146 </div> 1147 } 1148 else 1149 { 1150 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" /> 1151 } 1152 1153 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1154 </div> 1155 } 1156 @using System.Reflection 1157 @using Dynamicweb.Rapido.Blocks.Components.General 1158 @using Dynamicweb.Rapido.Blocks.Components 1159 1160 @* Component *@ 1161 1162 @helper RenderNumberField(NumberField settings) 1163 { 1164 var attributes = new Dictionary<string, string>(); 1165 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 1166 { 1167 settings.Id = Guid.NewGuid().ToString("N"); 1168 } 1169 1170 /*base settings*/ 1171 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1172 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 1173 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 1174 if (settings.Disabled) { attributes.Add("disabled", "true"); } 1175 if (settings.Required) { attributes.Add("required", "true"); } 1176 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1177 /*end*/ 1178 1179 if (!string.IsNullOrEmpty(settings.OnKeyUp)) { attributes.Add("onkeyup", settings.OnKeyUp); } 1180 if (!string.IsNullOrEmpty(settings.OnInput)) { attributes.Add("oninput", settings.OnInput); } 1181 if (!string.IsNullOrEmpty(settings.OnFocus)) { attributes.Add("onfocus", settings.OnFocus); } 1182 if (settings.ReadOnly) { attributes.Add("readonly", "true"); } 1183 if (settings.Max != null) { attributes.Add("max", settings.Max.ToString()); } 1184 if (settings.Min != null) { attributes.Add("min", settings.Min.ToString()); } 1185 if (settings.Step != 0) { attributes.Add("step", settings.Step.ToString()); } 1186 if (settings.Value != null && !string.IsNullOrEmpty(settings.Value.ToString())) { attributes.Add("value", settings.Value.ToString()); } 1187 attributes.Add("type", "number"); 1188 1189 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 1190 1191 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 1192 <div class="form__field-group u-full-width @settings.WrapperCssClass dw-mod"> 1193 @if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 1194 { 1195 <div class="u-full-width"> 1196 @if (!string.IsNullOrEmpty(settings.Label)) { <label for="@settings.Id" class="u-pull--left">@settings.Label</label> } 1197 @if (settings.Link != null) { 1198 <div class="u-pull--right"> 1199 @{ settings.Link.ButtonLayout = ButtonLayout.LinkClean; } 1200 @Render(settings.Link) 1201 </div> 1202 } 1203 </div> 1204 1205 } 1206 1207 @if (!string.IsNullOrEmpty(settings.HelpText)) 1208 { 1209 <small class="form__help-text">@settings.HelpText</small> 1210 } 1211 1212 @if (settings.ActionButton != null) 1213 { 1214 settings.ActionButton.CssClass += " btn--condensed u-no-margin"; 1215 <div class="form__field-combi u-no-margin dw-mod"> 1216 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" /> 1217 @Render(settings.ActionButton) 1218 </div> 1219 } 1220 else 1221 { 1222 <div class="form__field-combi u-no-margin dw-mod"> 1223 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" /> 1224 </div> 1225 } 1226 1227 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1228 </div> 1229 } 1230 @using System.Reflection 1231 @using Dynamicweb.Rapido.Blocks.Components.General 1232 @using Dynamicweb.Rapido.Blocks.Components 1233 1234 1235 @* Component *@ 1236 1237 @helper RenderTextareaField(TextareaField settings) 1238 { 1239 Dictionary<string, string> attributes = new Dictionary<string, string>(); 1240 string id = settings.Id; 1241 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(id)) 1242 { 1243 id = Guid.NewGuid().ToString("N"); 1244 } 1245 1246 if (!string.IsNullOrEmpty(id)) { attributes.Add("id", id); } 1247 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 1248 if (!string.IsNullOrEmpty(settings.OnKeyUp)) { attributes.Add("onkeyup", settings.OnKeyUp); } 1249 if (!string.IsNullOrEmpty(settings.OnInput)) { attributes.Add("oninput", settings.OnInput); } 1250 if (!string.IsNullOrEmpty(settings.OnFocus)) { attributes.Add("onfocus", settings.OnFocus); } 1251 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 1252 if (!string.IsNullOrEmpty(settings.Placeholder)) { attributes.Add("placeholder", settings.Placeholder); } 1253 if (settings.Disabled) { attributes.Add("disabled", "true"); } 1254 if (settings.Required) { attributes.Add("required", "true"); } 1255 if (settings.ReadOnly) { attributes.Add("readonly", "true"); } 1256 if (settings.MaxLength != 0) { attributes.Add("maxlength", settings.MaxLength.ToString()); } 1257 if (settings.Rows != 0) { attributes.Add("rows", settings.Rows.ToString()); } 1258 attributes.Add("name", settings.Name); 1259 1260 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 1261 1262 <div class="form__field-group @settings.WrapperCssClass dw-mod"> 1263 @if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 1264 { 1265 <div class="u-full-width"> 1266 @if (!string.IsNullOrEmpty(settings.Label)) { <label for="@settings.Id" class="u-pull--left">@settings.Label</label> } 1267 @if (settings.Link != null) { 1268 <div class="u-pull--right"> 1269 @{ settings.Link.ButtonLayout = ButtonLayout.LinkClean; } 1270 @Render(settings.Link) 1271 </div> 1272 } 1273 </div> 1274 } 1275 1276 @if (!string.IsNullOrEmpty(settings.HelpText)) 1277 { 1278 <small class="form__help-text">@settings.HelpText</small> 1279 } 1280 1281 <textarea class="u-full-width @settings.CssClass dw-mod" @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@settings.Value</textarea> 1282 1283 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1284 </div> 1285 } 1286 @using System.Reflection 1287 @using Dynamicweb.Rapido.Blocks.Components.General 1288 @using Dynamicweb.Rapido.Blocks.Components 1289 1290 1291 @* Component *@ 1292 1293 @helper RenderHiddenField(HiddenField settings) { 1294 var attributes = new Dictionary<string, string>(); 1295 attributes.Add("type", "hidden"); 1296 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1297 if (settings.Value != null) { attributes.Add("value", settings.Value); } 1298 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1299 1300 <input @ComponentMethods.AddAttributes(attributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)/> 1301 } 1302 @using System.Reflection 1303 @using Dynamicweb.Rapido.Blocks.Components.General 1304 @using Dynamicweb.Rapido.Blocks.Components 1305 1306 @* Component *@ 1307 1308 @helper RenderCheckboxField(CheckboxField settings) 1309 { 1310 var attributes = new Dictionary<string, string>(); 1311 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 1312 { 1313 settings.Id = Guid.NewGuid().ToString("N"); 1314 } 1315 1316 /*base settings*/ 1317 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1318 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 1319 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 1320 if (settings.Disabled) { attributes.Add("disabled", "true"); } 1321 if (settings.Required) { attributes.Add("required", "true"); } 1322 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1323 /*end*/ 1324 1325 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 1326 1327 attributes.Add("type", "checkbox"); 1328 if (settings.Checked) { attributes.Add("checked", "true"); } 1329 settings.CssClass = "form__control " + settings.CssClass; 1330 if (settings.Value != null) { attributes.Add("value", settings.Value); } 1331 1332 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 1333 1334 <div class="form__field-group @settings.WrapperCssClass dw-mod"> 1335 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" /> 1336 @if (!string.IsNullOrEmpty(settings.Label)) 1337 { 1338 <label for="@settings.Id" class="dw-mod">@settings.Label</label> 1339 } 1340 1341 @if (settings.Link != null) { 1342 <span> 1343 @{ settings.Link.ButtonLayout = ButtonLayout.LinkClean; } 1344 @Render(settings.Link) 1345 </span> 1346 } 1347 1348 @if (!string.IsNullOrEmpty(settings.HelpText)) 1349 { 1350 <small class="form__help-text checkbox-help dw-mod">@settings.HelpText</small> 1351 } 1352 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1353 </div> 1354 } 1355 @using System.Reflection 1356 @using Dynamicweb.Rapido.Blocks.Components.General 1357 @using Dynamicweb.Rapido.Blocks.Components 1358 1359 1360 @* Component *@ 1361 1362 @helper RenderCheckboxListField(CheckboxListField settings) 1363 { 1364 <div class="form__field-group @settings.WrapperCssClass u-margin-bottom dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 1365 @if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 1366 { 1367 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 1368 if (!string.IsNullOrEmpty(settings.Label)) { <label class="u-pull--left">@settings.Label</label> } 1369 // Adding input type radio as a work around for HTML5 validation for checkbox list 1370 if (settings.Required) {<input type="radio" name="@settings.Name" class="u-visually-hidden hidden-required-input" required /> } 1371 if (!string.IsNullOrEmpty(settings.HelpText)) { <small class="form__help-text">@settings.HelpText</small> } 1372 if (settings.Link != null) { 1373 <div class="u-pull--right"> 1374 @{ settings.Link.ButtonLayout = ButtonLayout.LinkClean; } 1375 @Render(settings.Link) 1376 </div> 1377 } 1378 } 1379 1380 <div class="forms__fields-options"> 1381 @foreach (var item in settings.Options) 1382 { 1383 if (settings.Required) 1384 { 1385 item.OnChange = "Forms.ValidateRequiredList(this)"; 1386 } 1387 if (settings.Disabled) 1388 { 1389 item.Disabled = true; 1390 } 1391 if (!string.IsNullOrEmpty(settings.Name)) 1392 { 1393 item.Name = settings.Name; 1394 } 1395 if (!string.IsNullOrEmpty(settings.CssClass)) 1396 { 1397 item.CssClass += settings.CssClass; 1398 } 1399 1400 /* value is not supported */ 1401 1402 if (!string.IsNullOrEmpty(settings.OnClick)) 1403 { 1404 item.OnClick += settings.OnClick; 1405 } 1406 if (!string.IsNullOrEmpty(settings.OnChange)) 1407 { 1408 item.OnChange += settings.OnChange; 1409 } 1410 @Render(item) 1411 } 1412 </div> 1413 1414 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1415 </div> 1416 } 1417 @using Dynamicweb.Rapido.Blocks.Components.General 1418 1419 @* Component *@ 1420 1421 @helper RenderSearch(Search settings) 1422 { 1423 var searchValue = HttpContext.Current.Request.QueryString.Get(settings.SearchParameter) ?? ""; 1424 var groupValue = HttpContext.Current.Request.QueryString.Get(settings.GroupsParameter) ?? ""; 1425 1426 if (string.IsNullOrEmpty(settings.Id)) 1427 { 1428 settings.Id = Guid.NewGuid().ToString("N"); 1429 } 1430 1431 var resultAttributes = new Dictionary<string, string>(); 1432 1433 if (settings.PageSize != 0) 1434 { 1435 resultAttributes.Add("data-page-size", settings.PageSize.ToString()); 1436 } 1437 if (!string.IsNullOrEmpty(settings.GroupItemsFeedUrl)) 1438 { 1439 resultAttributes.Add("data-groups-feed-url", settings.GroupItemsFeedUrl); 1440 if (!string.IsNullOrEmpty(groupValue)) 1441 { 1442 resultAttributes.Add("data-selected-group", groupValue); 1443 } 1444 if (!string.IsNullOrEmpty(settings.GroupsParameter)) 1445 { 1446 resultAttributes.Add("data-groups-parameter", settings.GroupsParameter); 1447 } 1448 } 1449 resultAttributes.Add("data-force-init", "true"); 1450 if (settings.GoToFirstSearchResultOnEnter) 1451 { 1452 resultAttributes.Add("data-go-to-first-search-result-on-enter", settings.GoToFirstSearchResultOnEnter.ToString().ToLower()); 1453 } 1454 if (!string.IsNullOrEmpty(settings.SearchParameter)) 1455 { 1456 resultAttributes.Add("data-search-parameter", settings.SearchParameter); 1457 } 1458 resultAttributes.Add("data-search-feed-url", settings.SearchData.SearchFeedUrl); 1459 resultAttributes.Add("data-results-template-id", settings.SearchData.ResultsTemplateId); 1460 1461 if (settings.SecondSearchData != null) 1462 { 1463 resultAttributes.Add("data-second-search-feed-url", settings.SecondSearchData.SearchFeedUrl); 1464 resultAttributes.Add("data-second-results-template-id", settings.SecondSearchData.ResultsTemplateId); 1465 } 1466 if (!string.IsNullOrEmpty(settings.ResultsPageUrl)) 1467 { 1468 resultAttributes.Add("data-results-page-url", settings.ResultsPageUrl); 1469 } 1470 1471 resultAttributes = resultAttributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 1472 1473 string searchFieldCss = (settings.SearchButton == null) ? "search--with-icon" : ""; 1474 1475 <div class="search @settings.CssClass @searchFieldCss js-search-data-source dw-mod" id="@settings.Id" @ComponentMethods.AddAttributes(resultAttributes)> 1476 @if (!string.IsNullOrEmpty(settings.GroupItemsFeedUrl)) 1477 { 1478 <button type="button" class="search__groups-btn dw-mod js-search-groups-btn">@Translate("All")</button> 1479 <ul class="dropdown dropdown--absolute-position dw-mod search__groups-results js-search-groups-list"></ul> 1480 } 1481 1482 <input type="text" class="search__field dw-mod js-search-field" placeholder="@settings.Placeholder" value="@searchValue"> 1483 1484 <div class="dropdown dropdown--absolute-position search__results dw-mod js-search-results @(settings.SecondSearchData != null ? "search__results--combined" : "")"> 1485 @if (settings.SecondSearchData != null) 1486 { 1487 <div class="search__column search__column--products dw-mod"> 1488 <div class="search__column-header dw-mod">@Translate("Products")</div> 1489 <ul class="search__results-list dw-mod js-search-results-list" id="@(settings.Id)_ResultsList"></ul> 1490 @if (!string.IsNullOrEmpty(settings.SearchData.ResultsPageUrl)) 1491 { 1492 @Render(new Link { 1493 Title = Translate("View all"), 1494 CssClass = "js-view-all-button u-margin", 1495 Href = settings.SearchData.ResultsPageUrl 1496 }); 1497 } 1498 </div> 1499 <div class="search__column search__column--pages dw-mod"> 1500 <div class="search__column-header">@Translate("Pages")</div> 1501 <ul class="search__results-list dw-mod js-search-results-second-list" id="@(settings.Id)_SecondResultsList"></ul> 1502 @if (!string.IsNullOrEmpty(settings.SecondSearchData.ResultsPageUrl)) 1503 { 1504 @Render(new Link 1505 { 1506 Title = Translate("View all"), 1507 CssClass = "js-view-all-button u-margin", 1508 Href = settings.SecondSearchData.ResultsPageUrl 1509 }); 1510 } 1511 </div> 1512 } 1513 else 1514 { 1515 <div class="search__column search__column--only dw-mod"> 1516 <ul class="search__results-list dw-mod js-search-results-list" id="@(settings.Id)_ResultsList"></ul> 1517 @if (!string.IsNullOrEmpty(settings.SearchData.ResultsPageUrl)) 1518 { 1519 @Render(new Link { 1520 Title = Translate("View all"), 1521 CssClass = "js-view-all-button u-margin", 1522 Href = settings.SearchData.ResultsPageUrl 1523 }); 1524 } 1525 </div> 1526 } 1527 </div> 1528 1529 @if (settings.SearchButton != null) 1530 { 1531 settings.SearchButton.CssClass += " search__btn js-search-btn"; 1532 if (settings.RenderDefaultSearchIcon) 1533 { 1534 settings.SearchButton.Icon = new Icon { Name = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("SearchIcon").SelectedValue }; 1535 } 1536 @Render(settings.SearchButton); 1537 } 1538 </div> 1539 } 1540 @using System.Reflection 1541 @using Dynamicweb.Rapido.Blocks.Components.General 1542 @using Dynamicweb.Rapido.Blocks.Components 1543 1544 1545 @* Component *@ 1546 1547 @helper RenderSelectField(SelectField settings) 1548 { 1549 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 1550 { 1551 settings.Id = Guid.NewGuid().ToString("N"); 1552 } 1553 1554 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 1555 1556 <div class="form__field-group u-full-width @settings.WrapperCssClass dw-mod"> 1557 @if (!string.IsNullOrEmpty(settings.Label) || settings.Link != null ) 1558 { 1559 <div class="u-full-width"> 1560 @if (!string.IsNullOrEmpty(settings.Label)) { <label for="@settings.Id" class="u-pull--left">@settings.Label</label> } 1561 @if (settings.Link != null) { 1562 <div class="u-pull--right"> 1563 @{ settings.Link.ButtonLayout = ButtonLayout.LinkClean; } 1564 @Render(settings.Link) 1565 </div> 1566 } 1567 </div> 1568 } 1569 1570 @if (!string.IsNullOrEmpty(settings.HelpText)) 1571 { 1572 <small class="form__help-text">@settings.HelpText</small> 1573 } 1574 1575 @if (settings.ActionButton != null) 1576 { 1577 settings.ActionButton.CssClass += " btn--condensed u-no-margin"; 1578 <div class="form__field-combi u-no-margin dw-mod"> 1579 @RenderSelectBase(settings) 1580 @Render(settings.ActionButton) 1581 </div> 1582 } 1583 else 1584 { 1585 @RenderSelectBase(settings) 1586 } 1587 1588 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1589 </div> 1590 } 1591 1592 @helper RenderSelectBase(SelectField settings) 1593 { 1594 var attributes = new Dictionary<string, string>(); 1595 1596 /*base settings*/ 1597 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1598 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 1599 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 1600 if (settings.Disabled) { attributes.Add("disabled", "true"); } 1601 if (settings.Required) { attributes.Add("required", "true"); } 1602 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1603 /*end*/ 1604 1605 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 1606 1607 <select @ComponentMethods.AddAttributes(resultAttributes) class="u-full-width @settings.CssClass dw-mod"> 1608 @if (settings.Default != null) 1609 { 1610 @Render(settings.Default) 1611 } 1612 1613 @foreach (var item in settings.Options) 1614 { 1615 if (settings.Value != null) { 1616 item.Checked = item.Value == settings.Value; 1617 } 1618 @Render(item) 1619 } 1620 </select> 1621 } 1622 @using System.Reflection 1623 @using Dynamicweb.Rapido.Blocks.Components.General 1624 @using Dynamicweb.Rapido.Blocks.Components 1625 1626 @* Component *@ 1627 1628 @helper RenderRadioButtonField(RadioButtonField settings) 1629 { 1630 var attributes = new Dictionary<string, string>(); 1631 if (!string.IsNullOrEmpty(settings.Label) && string.IsNullOrEmpty(settings.Id)) 1632 { 1633 settings.Id = Guid.NewGuid().ToString("N"); 1634 } 1635 1636 /*base settings*/ 1637 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1638 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 1639 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 1640 if (settings.Disabled) { attributes.Add("disabled", "true"); } 1641 if (settings.Required) { attributes.Add("required", "true"); } 1642 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 1643 /*end*/ 1644 1645 attributes.Add("type", "radio"); 1646 if (settings.Checked) { attributes.Add("checked", "true"); } 1647 settings.CssClass = "form__control " + settings.CssClass; 1648 if (settings.Value != null) { attributes.Add("value", settings.Value); } 1649 1650 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 1651 1652 <div class="form__field-group @settings.WrapperCssClass dw-mod"> 1653 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" /> 1654 @if (!string.IsNullOrEmpty(settings.Label)) 1655 { 1656 <label for="@settings.Id" class="dw-mod">@settings.Label</label> 1657 } 1658 @if (!string.IsNullOrEmpty(settings.HelpText)) 1659 { 1660 <small class="form__help-text">@settings.HelpText</small> 1661 } 1662 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1663 </div> 1664 } 1665 @using System.Reflection 1666 @using Dynamicweb.Rapido.Blocks.Components.General 1667 @using Dynamicweb.Rapido.Blocks.Components 1668 1669 1670 @* Component *@ 1671 1672 @helper RenderRadioButtonListField(RadioButtonListField settings) 1673 { 1674 if (settings.Required && !String.IsNullOrEmpty(settings.Label)) { settings.Label += " <span class=\"required dw-mod\">*</span>"; } 1675 1676 <div class="form__field-group @settings.WrapperCssClass u-margin-bottom dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 1677 @if (!string.IsNullOrEmpty(settings.Label)) 1678 { 1679 <label>@settings.Label</label> 1680 } 1681 @if (settings.Required) {<input type="radio" name="@settings.Name" class="u-visually-hidden hidden-required-input" required /> } 1682 1683 @if (!string.IsNullOrEmpty(settings.HelpText)) 1684 { 1685 <small class="form__help-text">@settings.HelpText</small> 1686 } 1687 1688 <div class="forms__fields-options"> 1689 @foreach (var item in settings.Options) 1690 { 1691 if (settings.Disabled) 1692 { 1693 item.Disabled = true; 1694 } 1695 if (!string.IsNullOrEmpty(settings.Name)) 1696 { 1697 item.Name = settings.Name; 1698 } 1699 if (settings.Value != null && settings.Value == item.Value) 1700 { 1701 item.Checked = true; 1702 } 1703 if (!string.IsNullOrEmpty(settings.OnClick)) 1704 { 1705 item.OnClick += settings.OnClick; 1706 } 1707 if (!string.IsNullOrEmpty(settings.OnChange)) 1708 { 1709 item.OnChange += settings.OnChange; 1710 } 1711 if (!string.IsNullOrEmpty(settings.CssClass)) 1712 { 1713 item.CssClass += settings.CssClass; 1714 } 1715 @Render(item) 1716 } 1717 </div> 1718 1719 @Render(new NotificationMessage { Message = settings.ErrorMessage }) 1720 </div> 1721 } 1722 @using System.Reflection 1723 @using Dynamicweb.Rapido.Blocks.Components.General 1724 @using Dynamicweb.Rapido.Blocks.Components 1725 1726 1727 @* Component *@ 1728 1729 @helper RenderNotificationMessage(NotificationMessage settings) 1730 { 1731 if (!string.IsNullOrEmpty(settings.Message)) 1732 { 1733 var attributes = new Dictionary<string, string>(); 1734 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 1735 1736 string messageTypeClass = Enum.GetName(typeof(NotificationMessageType), settings.MessageType).ToLower(); 1737 string messageLayoutClass = Enum.GetName(typeof(NotificationMessageLayout), settings.MessageLayout).ToLower(); 1738 string minHeightClass = settings.Icon != null ? "u-min-h70px" : ""; 1739 1740 <div class="notification-message-@messageTypeClass notification-message-@messageLayoutClass @messageLayoutClass @minHeightClass @settings.CssClass u-full-width dw-mod" @ComponentMethods.AddAttributes(attributes)> 1741 @if (settings.Icon != null) { 1742 settings.Icon.Label = !string.IsNullOrEmpty(settings.Icon.Label) ? settings.Message + settings.Icon.Label : settings.Message; 1743 @Render(settings.Icon) 1744 } else { 1745 @settings.Message 1746 } 1747 </div> 1748 } 1749 } 1750 @using Dynamicweb.Rapido.Blocks.Components.General 1751 1752 1753 @* Component *@ 1754 1755 @helper RenderHandlebarsRoot(HandlebarsRoot settings) { 1756 string preRender = !String.IsNullOrEmpty(settings.PreRenderScriptTemplate) ? "data-pre-render-template=\"" + settings.PreRenderScriptTemplate + "\"" : ""; 1757 1758 <div class="@settings.CssClass dw-mod js-handlebars-root" id="@settings.Id" data-template="@settings.ScriptTemplate" data-json-feed="@settings.FeedUrl" data-init-onload="@settings.InitOnLoad.ToString()" data-preloader="@settings.Preloader" @preRender> 1759 @if (settings.SubBlocks != null) { 1760 @RenderBlockList(settings.SubBlocks) 1761 } 1762 </div> 1763 } 1764 @using System.Reflection 1765 @using Dynamicweb.Rapido.Blocks.Components.General 1766 @using Dynamicweb.Rapido.Blocks.Components 1767 @using System.Text.RegularExpressions 1768 1769 1770 @* Component *@ 1771 1772 @helper RenderSticker(Sticker settings) { 1773 if (!String.IsNullOrEmpty(settings.Title)) { 1774 string size = settings.Size.ToString() != "None" ? "" + "stickers-container__tag--" + settings.Size.ToString().ToLower() : ""; 1775 string style = settings.Style.ToString() != "None" ? "" + "stickers-container__tag--" + settings.Style.ToString().ToLower() : ""; 1776 1777 Dictionary<String, String> optionalAttributes = new Dictionary<string, string>(); 1778 if (!String.IsNullOrEmpty(settings.Color) || !String.IsNullOrEmpty(settings.BackgroundColor)) { 1779 string styleTag = !String.IsNullOrEmpty(settings.Color) ? "color: " + settings.Color + "; " : ""; 1780 styleTag += !String.IsNullOrEmpty(settings.BackgroundColor) ? "background-color: " + settings.BackgroundColor + "; " : ""; 1781 optionalAttributes.Add("style", styleTag); 1782 } 1783 1784 <div class="stickers-container__tag @size @style @settings.CssClass dw-mod" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)>@settings.Title</div> 1785 } 1786 } 1787 1788 @using System.Reflection 1789 @using Dynamicweb.Rapido.Blocks.Components.General 1790 @using Dynamicweb.Rapido.Blocks.Components 1791 1792 1793 @* Component *@ 1794 1795 @helper RenderStickersCollection(StickersCollection settings) 1796 { 1797 if (settings.Stickers.Count > 0) 1798 { 1799 string position = "stickers-container--" + Regex.Replace(settings.Position.ToString(), "([a-z])([A-Z])", "$1-$2").ToLower(); 1800 1801 <div class="stickers-container @position @settings.CssClass dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 1802 @foreach (Sticker sticker in settings.Stickers) 1803 { 1804 @Render(sticker) 1805 } 1806 </div> 1807 } 1808 } 1809 1810 @using Dynamicweb.Rapido.Blocks.Components.General 1811 1812 1813 @* Component *@ 1814 1815 @helper RenderForm(Form settings) { 1816 if (settings != null) 1817 { 1818 Dictionary<string, string> optionalAttributes = new Dictionary<string, string>(); 1819 if (!string.IsNullOrEmpty(settings.Action)) { optionalAttributes.Add("action", settings.Action); }; 1820 if (!string.IsNullOrEmpty(settings.Name)) { optionalAttributes.Add("name", settings.Name); }; 1821 if (!string.IsNullOrEmpty(settings.OnSubmit)) { optionalAttributes.Add("onsubmit", settings.OnSubmit); }; 1822 var enctypes = new Dictionary<string, string> 1823 { 1824 { "multipart", "multipart/form-data" }, 1825 { "text", "text/plain" }, 1826 { "application", "application/x-www-form-urlencoded" } 1827 }; 1828 if (settings.Enctype != FormEnctype.none) { optionalAttributes.Add("enctype", enctypes[Enum.GetName(typeof(FormEnctype), settings.Enctype).ToLower()]); }; 1829 optionalAttributes.Add("method", settings.Method.ToString()); 1830 1831 if (!string.IsNullOrEmpty(settings.FormStartMarkup)) 1832 { 1833 @settings.FormStartMarkup 1834 } 1835 else 1836 { 1837 @:<form class="@settings.CssClass u-no-margin dw-mod" @ComponentMethods.AddAttributes(optionalAttributes) @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 1838 } 1839 1840 foreach (var field in settings.GetFields()) 1841 { 1842 @Render(field) 1843 } 1844 1845 @:</form> 1846 } 1847 } 1848 @using System.Reflection 1849 @using Dynamicweb.Rapido.Blocks.Components.General 1850 @using Dynamicweb.Rapido.Blocks.Components 1851 1852 1853 @* Component *@ 1854 1855 @helper RenderText(Text settings) 1856 { 1857 @settings.Content 1858 } 1859 @using System.Reflection 1860 @using Dynamicweb.Rapido.Blocks.Components.General 1861 @using Dynamicweb.Rapido.Blocks.Components 1862 1863 1864 @* Component *@ 1865 1866 @helper RenderContentModule(ContentModule settings) { 1867 if (!string.IsNullOrEmpty(settings.Content)) 1868 { 1869 @settings.Content 1870 } 1871 } 1872 @using System.Reflection 1873 @using Dynamicweb.Rapido.Blocks.Components.General 1874 @using Dynamicweb.Rapido.Blocks.Components 1875 1876 1877 @* Component *@ 1878 1879 @helper RenderModal(Modal settings) { 1880 if (settings != null) 1881 { 1882 string modalId = !string.IsNullOrEmpty(settings.Id) ? settings.Id : Guid.NewGuid().ToString("N"); 1883 1884 string onchange = !string.IsNullOrEmpty(settings.OnClose) ? "onchange=\"if(!this.checked){" + settings.OnClose + "}\"" : ""; 1885 1886 <input type="checkbox" id="@(modalId)ModalTrigger" class="modal-trigger" @onchange /> 1887 1888 <div class="modal-container"> 1889 @if (!settings.DisableDarkOverlay) 1890 { 1891 <label for="@(modalId)ModalTrigger" id="@(modalId)ModalOverlay" class="modal-overlay"></label> 1892 } 1893 <div class="modal modal--@settings.Width.ToString().ToLower() modal-height--@settings.Height.ToString().ToLower()" id="@(modalId)Modal"> 1894 @if (settings.Heading != null) 1895 { 1896 if (!string.IsNullOrEmpty(settings.Heading.Title)) 1897 { 1898 <div class="modal__header"> 1899 @Render(settings.Heading) 1900 </div> 1901 } 1902 } 1903 <div class="modal__body @(settings.Width.ToString().ToLower() == "full" ? "modal__body--full" : "")"> 1904 @if (!string.IsNullOrEmpty(settings.BodyText)) 1905 { 1906 @settings.BodyText 1907 } 1908 @if (settings.BodyTemplate != null) 1909 { 1910 @settings.BodyTemplate 1911 } 1912 @{ 1913 var actions = settings.GetActions(); 1914 } 1915 </div> 1916 @if (actions.Length > 0) 1917 { 1918 <div class="modal__footer"> 1919 @foreach (var action in actions) 1920 { 1921 if (Pageview.Device.ToString() != "Mobile") { 1922 action.CssClass += " u-no-margin"; 1923 } else { 1924 action.CssClass += " u-full-width u-margin-bottom"; 1925 } 1926 1927 @Render(action) 1928 } 1929 </div> 1930 } 1931 <label class="modal__close-btn" for="@(modalId)ModalTrigger"></label> 1932 </div> 1933 </div> 1934 } 1935 } 1936 @using Dynamicweb.Rapido.Blocks.Components.General 1937 1938 @* Component *@ 1939 1940 @helper RenderMediaListItem(MediaListItem settings) 1941 { 1942 <div class="media-list-item @settings.CssClass dw-mod" @(!string.IsNullOrEmpty(settings.Id) ? "id=\"" + settings.Id + "\"" : "")> 1943 @if (!string.IsNullOrEmpty(settings.Label)) 1944 { 1945 if (!string.IsNullOrEmpty(settings.Link)) 1946 { 1947 @Render(new Link 1948 { 1949 Href = settings.Link, 1950 CssClass = "media-list-item__sticker dw-mod", 1951 ButtonLayout = ButtonLayout.None, 1952 Title = settings.Label, 1953 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 1954 }) 1955 } 1956 else if (!string.IsNullOrEmpty(settings.OnClick)) 1957 { 1958 <span class="media-list-item__sticker dw-mod" onclick="@(settings.OnClick)"> 1959 <span class="u-uppercase">@settings.Label</span> 1960 </span> 1961 } 1962 else 1963 { 1964 <span class="media-list-item__sticker media-list-item__sticker--no-link dw-mod"> 1965 <span class="u-uppercase">@settings.Label</span> 1966 </span> 1967 } 1968 } 1969 <div class="media-list-item__wrap"> 1970 <div class="media-list-item__info dw-mod"> 1971 <div class="media-list-item__header dw-mod"> 1972 @if (!string.IsNullOrEmpty(settings.Title)) 1973 { 1974 if (!string.IsNullOrEmpty(settings.Link)) 1975 { 1976 @Render(new Link 1977 { 1978 Href = settings.Link, 1979 CssClass = "media-list-item__name dw-mod", 1980 ButtonLayout = ButtonLayout.None, 1981 Title = settings.Title, 1982 OnClick = !string.IsNullOrEmpty(settings.OnClick) ? settings.OnClick : "" 1983 }) 1984 } 1985 else if (!string.IsNullOrEmpty(settings.OnClick)) 1986 { 1987 <span class="media-list-item__name dw-mod" onclick="@(settings.OnClick)">@settings.Title</span> 1988 } 1989 else 1990 { 1991 <span class="media-list-item__name media-list-item__name--no-link dw-mod">@settings.Title</span> 1992 } 1993 } 1994 1995 @if (!string.IsNullOrEmpty(settings.Status)) 1996 { 1997 <div class="media-list-item__state dw-mod">@settings.Status</div> 1998 } 1999 </div> 2000 @{ 2001 settings.InfoTable.CssClass += " media-list-item__parameters-table"; 2002 } 2003 2004 @Render(settings.InfoTable) 2005 </div> 2006 <div class="media-list-item__actions dw-mod"> 2007 <div class="media-list-item__actions-list dw-mod"> 2008 @{ 2009 var actions = settings.GetActions(); 2010 2011 foreach (ButtonBase action in actions) 2012 { 2013 action.ButtonLayout = ButtonLayout.None; 2014 action.CssClass += " media-list-item__action link"; 2015 2016 @Render(action) 2017 } 2018 } 2019 </div> 2020 2021 @if (settings.SelectButton != null && !string.IsNullOrEmpty(settings.SelectButton.Title)) 2022 { 2023 settings.SelectButton.CssClass += " u-no-margin"; 2024 2025 <div class="media-list-item__action-button"> 2026 @Render(settings.SelectButton) 2027 </div> 2028 } 2029 </div> 2030 </div> 2031 </div> 2032 } 2033 @using Dynamicweb.Rapido.Blocks.Components.General 2034 @using Dynamicweb.Rapido.Blocks.Components 2035 2036 @helper RenderTable(Table settings) 2037 { 2038 Dictionary<string, string> attributes = new Dictionary<string, string>(); 2039 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 2040 2041 var enumToClasses = new Dictionary<TableDesign, string> 2042 { 2043 { TableDesign.Clean, "table--clean" }, 2044 { TableDesign.Bordered, "table--bordered" }, 2045 { TableDesign.Striped, "table--striped" }, 2046 { TableDesign.Hover, "table--hover" }, 2047 { TableDesign.Compact, "table--compact" }, 2048 { TableDesign.Condensed, "table--condensed" }, 2049 { TableDesign.NoTopBorder, "table--no-top-border" } 2050 }; 2051 string tableDesignClass = ""; 2052 if (settings.Design != TableDesign.None) 2053 { 2054 tableDesignClass = enumToClasses[settings.Design]; 2055 } 2056 2057 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableDesign.None) { attributes.Add("class", "table " + tableDesignClass + " " + settings.CssClass + " dw-mod"); } 2058 2059 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 2060 2061 <table @ComponentMethods.AddAttributes(resultAttributes)> 2062 @if (settings.Header != null) 2063 { 2064 <thead> 2065 @Render(settings.Header) 2066 </thead> 2067 } 2068 <tbody> 2069 @foreach (var row in settings.Rows) 2070 { 2071 @Render(row) 2072 } 2073 </tbody> 2074 @if (settings.Footer != null) 2075 { 2076 <tfoot> 2077 @Render(settings.Footer) 2078 </tfoot> 2079 } 2080 </table> 2081 } 2082 @using Dynamicweb.Rapido.Blocks.Components.General 2083 @using Dynamicweb.Rapido.Blocks.Components 2084 2085 @helper RenderTableRow(TableRow settings) 2086 { 2087 Dictionary<string, string> attributes = new Dictionary<string, string>(); 2088 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 2089 2090 var enumToClasses = new Dictionary<TableRowDesign, string> 2091 { 2092 { TableRowDesign.NoBorder, "table__row--no-border" }, 2093 { TableRowDesign.Border, "table__row--border" }, 2094 { TableRowDesign.TopBorder, "table__row--top-line" }, 2095 { TableRowDesign.BottomBorder, "table__row--bottom-line" }, 2096 { TableRowDesign.Solid, "table__row--solid" } 2097 }; 2098 2099 string tableRowDesignClass = ""; 2100 if (settings.Design != TableRowDesign.None) 2101 { 2102 tableRowDesignClass = enumToClasses[settings.Design]; 2103 } 2104 2105 if (!string.IsNullOrEmpty(settings.CssClass) || settings.Design != TableRowDesign.None) { attributes.Add("class", "table__row " + tableRowDesignClass + " " + settings.CssClass + " dw-mod"); } 2106 2107 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 2108 2109 <tr @ComponentMethods.AddAttributes(resultAttributes)> 2110 @foreach (var cell in settings.Cells) 2111 { 2112 if (settings.IsHeaderRow) 2113 { 2114 cell.IsHeader = true; 2115 } 2116 @Render(cell) 2117 } 2118 </tr> 2119 } 2120 @using Dynamicweb.Rapido.Blocks.Components.General 2121 @using Dynamicweb.Rapido.Blocks.Components 2122 @using Dynamicweb.Core 2123 2124 @helper RenderTableCell(TableCell settings) 2125 { 2126 Dictionary<string, string> attributes = new Dictionary<string, string>(); 2127 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 2128 if (settings.Colspan != 0) { attributes.Add("colspan", Converter.ToString(settings.Colspan)); } 2129 if (settings.Rowspan != 0) { attributes.Add("rowspan", Converter.ToString(settings.Rowspan)); } 2130 if (!string.IsNullOrEmpty(settings.CssClass)) { attributes.Add("class", settings.CssClass + " dw-mod"); } 2131 2132 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary(d => d.Key, d => d.Last().Value); 2133 2134 string tagName = settings.IsHeader ? "th" : "td"; 2135 2136 @("<" + tagName + " " + ComponentMethods.AddAttributes(resultAttributes) + ">") 2137 @settings.Content 2138 @("</" + tagName + ">"); 2139 } 2140 @using System.Linq 2141 @using Dynamicweb.Rapido.Blocks.Components.General 2142 2143 @* Component *@ 2144 2145 @helper RenderPagination(Dynamicweb.Rapido.Blocks.Components.General.Pagination settings) 2146 { 2147 var pageNumberQueryStringName = Dynamicweb.Rapido.Services.Pagination.GetPageNumberQueryStringName(settings); // Get the proper 'page number' query string parameter 2148 var queryParameters = Dynamicweb.Rapido.Services.Url.GetQueryParameters(pageNumberQueryStringName); // Get the NameValueCollection from the querystring 2149 2150 if (settings.NumberOfPages > 1) 2151 { 2152 string url = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/Default.aspx"; 2153 string ariaLabel = !string.IsNullOrWhiteSpace(settings.AriaLabel) ? settings.AriaLabel : Translate("Page navigation"); 2154 Dictionary<string, int> startAndEndPageNumber = Dynamicweb.Rapido.Services.Pagination.GetStartAndEndPageNumber(settings); 2155 2156 <div class="pager u-margin-top dw-mod @settings.CssClass" aria-label="@ariaLabel"> 2157 @if (settings.ShowPagingInfo) 2158 { 2159 <div class="pager__info dw-mod"> 2160 @Translate("Page") @settings.CurrentPageNumber @Translate("of") @settings.NumberOfPages 2161 </div> 2162 } 2163 <ul class="pager__list dw-mod"> 2164 @if (!string.IsNullOrWhiteSpace(settings.FirstPageUrl) && settings.ShowFirstAndLastControls) 2165 { 2166 @Render(new PaginationItem { Link = settings.FirstPageUrl, Icon = settings.FirstIcon }) 2167 } 2168 @if (!string.IsNullOrWhiteSpace(settings.PreviousPageUrl) && settings.ShowNextAndPrevControls) 2169 { 2170 @Render(new PaginationItem { Link = settings.PreviousPageUrl, Icon = settings.PrevIcon }) 2171 } 2172 @if (settings.GetPages().Any()) 2173 { 2174 foreach (var page in settings.GetPages()) 2175 { 2176 @Render(page) 2177 } 2178 } 2179 else 2180 { 2181 for (var page = startAndEndPageNumber["StartPage"]; page <= startAndEndPageNumber["EndPage"]; page++) 2182 { 2183 queryParameters = Dynamicweb.Rapido.Services.Url.UpdateQueryStringParameter(queryParameters, pageNumberQueryStringName, page.ToString()); 2184 @Render(new PaginationItem { Label = page.ToString(), Link = Dynamicweb.Rapido.Services.Url.BuildUri(url, queryParameters).PathAndQuery, IsActive = (settings.CurrentPageNumber == page) }); 2185 } 2186 } 2187 @if (!string.IsNullOrWhiteSpace(settings.NextPageUrl) && settings.ShowNextAndPrevControls) 2188 { 2189 @Render(new PaginationItem { Link = settings.NextPageUrl, Icon = settings.NextIcon }) 2190 } 2191 @if (!string.IsNullOrWhiteSpace(settings.LastPageUrl) && settings.ShowFirstAndLastControls) 2192 { 2193 @Render(new PaginationItem { Link = settings.LastPageUrl, Icon = settings.LastIcon }) 2194 } 2195 </ul> 2196 </div> 2197 } 2198 } 2199 2200 @helper RenderPaginationItem(PaginationItem settings) 2201 { 2202 if (settings.Icon == null) 2203 { 2204 settings.Icon = new Icon(); 2205 } 2206 2207 settings.Icon.Label = settings.Label; 2208 <li class="pager__btn dw-mod"> 2209 @if (settings.IsActive) 2210 { 2211 <span class="pager__num pager__num--current dw-mod"> 2212 @Render(settings.Icon) 2213 </span> 2214 } 2215 else 2216 { 2217 <a href="@settings.Link" class="pager__num dw-mod"> 2218 @Render(settings.Icon) 2219 </a> 2220 } 2221 </li> 2222 } 2223 2224 2225 @using Dynamicweb.Rapido.Blocks.Components.General 2226 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 2227 @using System.Linq 2228 @using Dynamicweb.Core 2229 @using Dynamicweb.Rapido.Blocks.Components.General 2230 2231 @* Component *@ 2232 2233 @helper RenderAlertNotification(AlertNotification settings) 2234 { 2235 if (settings != null && (!string.IsNullOrEmpty(settings.Title) || !string.IsNullOrEmpty(settings.Message))) 2236 { 2237 @(string.Format("AlertNotification.ShowNotification('{0}','{1}'{2})", Converter.ToString(settings.Title), Converter.ToString(settings.Message), GetAlertNotificationConfiguration(settings))) 2238 } 2239 } 2240 2241 @functions 2242 { 2243 private string GetAlertNotificationConfiguration(AlertNotification settings) 2244 { 2245 string[] configuration = 2246 { 2247 AppendProperty("closeOnClick", settings.CloseOnClick), 2248 AppendProperty("displayCloseButton", settings.DisplayCloseButton), 2249 AppendProperty("onClick", settings.OnClick), 2250 AppendProperty("showDuration", settings.ShowDuration), 2251 AppendProperty("positionClass", settings.Position), 2252 AppendProperty("theme", settings.Theme) 2253 }; 2254 2255 configuration = configuration.Where(c => !string.IsNullOrEmpty(c)).ToArray(); 2256 2257 if (!configuration.Any()) 2258 { 2259 return string.Empty; 2260 } 2261 2262 return string.Concat(",{", string.Join(",", configuration), "}"); 2263 } 2264 2265 private static string AppendProperty(string propertyName, bool? propertyValue) 2266 { 2267 return propertyValue != null ? string.Format("{0}: {1}",propertyName, propertyValue.ToString().ToLowerInvariant()) : null; 2268 } 2269 2270 private static string AppendProperty(string propertyName, int? propertyValue) 2271 { 2272 return propertyValue != null ? string.Format("{0}: {1}",propertyName, propertyValue.ToString().ToLowerInvariant()) : null; 2273 } 2274 2275 private static string AppendProperty(string propertyName, AlertNotificationPosition.Position? propertyValue) 2276 { 2277 return propertyValue != null ? string.Format("{0}: positionConfig.{1}",propertyName, propertyValue) : null; 2278 } 2279 2280 private static string AppendProperty(string propertyName, AlertNotificationTheme.Theme? propertyValue) 2281 { 2282 return propertyValue != null ? string.Format("{0}: themeConfig.{1}",propertyName, propertyValue) : null; 2283 } 2284 } 2285 2286 @using System.Linq 2287 @using Dynamicweb.Core 2288 @using Dynamicweb.Rapido.Blocks.Components.General 2289 2290 @helper RenderMonthYearField(DateTimeField settings) 2291 { 2292 if (string.IsNullOrEmpty(settings.Id)) 2293 { 2294 settings.Id = Guid.NewGuid().ToString("N"); 2295 } 2296 2297 var textField = new TextField { 2298 Name = settings.Name, 2299 Id = settings.Id, 2300 Label = settings.Label, 2301 HelpText = settings.HelpText, 2302 Value = settings.Value, 2303 Disabled = settings.Disabled, 2304 Required = settings.Required, 2305 ErrorMessage = settings.ErrorMessage, 2306 CssClass = settings.CssClass, 2307 WrapperCssClass = settings.WrapperCssClass, 2308 OnChange = settings.OnChange, 2309 OnClick = settings.OnClick, 2310 ExtraAttributes = settings.ExtraAttributes, 2311 // 2312 Placeholder = settings.Placeholder 2313 }; 2314 2315 @Render(textField) 2316 2317 List<string> jsAttributes = new List<string>(); 2318 2319 jsAttributes.Add("mode: '" + Enum.GetName(typeof(DateTimeFieldMode), settings.Mode).ToLower() + "'"); 2320 2321 if (!string.IsNullOrEmpty(settings.DateFormat)) 2322 { 2323 jsAttributes.Add("dateFormat: '" + settings.DateFormat + "'"); 2324 } 2325 if (!string.IsNullOrEmpty(settings.MinDate)) 2326 { 2327 jsAttributes.Add("minDate: '" + settings.MinDate + "'"); 2328 } 2329 if (!string.IsNullOrEmpty(settings.MaxDate)) 2330 { 2331 jsAttributes.Add("maxDate: '" + settings.MaxDate + "'"); 2332 } 2333 if (settings.IsInline) 2334 { 2335 jsAttributes.Add("inline: " + Converter.ToString(settings.IsInline).ToLower()); 2336 } 2337 if (settings.EnableTime) 2338 { 2339 jsAttributes.Add("enableTime: " + Converter.ToString(settings.EnableTime).ToLower()); 2340 } 2341 if (settings.EnableWeekNumbers) 2342 { 2343 jsAttributes.Add("weekNumbers: " + Converter.ToString(settings.EnableWeekNumbers).ToLower()); 2344 } 2345 jsAttributes.Add("plugins: " + "[new monthSelectPlugin({shorthand: true, dateFormat: 'F Y', altFormat: 'F Y'})]"); 2346 2347 jsAttributes.AddRange(settings.GetFlatPickrOptions().Select(x => x.Key + ": " + x.Value)); 2348 2349 <script> 2350 document.addEventListener("DOMContentLoaded", function () { 2351 flatpickr("#@textField.Id", { 2352 @string.Join(",", jsAttributes) 2353 }); 2354 }); 2355 </script> 2356 } 2357 @using Dna.Rizzo.Components 2358 @* Component *@ 2359 2360 @helper RenderProgressionBar(ProgressionBar settings) 2361 { 2362 var secondaryValue = settings.TotalValue - settings.Value; 2363 var label = !string.IsNullOrEmpty(settings.Label) ? $"{settings.Label}: " : ""; 2364 var defaultColorClass = !string.IsNullOrEmpty(settings.Color) ? "" : "u-brand-color-one--bg"; 2365 2366 <div class="progress-bar"> 2367 <span class="u-pull--left u-margin">@($"{label}{FormatValue(settings.Value, settings.TotalValue, settings.RenderType)}")</span> 2368 @if (!settings.HideRemainingLabel) 2369 { 2370 var remainingLabel = !string.IsNullOrEmpty(settings.RemainingLabel) ? $"{settings.RemainingLabel}: " : ""; 2371 2372 <span class="u-pull--right u-margin">@($"{remainingLabel}{FormatValue(secondaryValue, settings.TotalValue, settings.RenderType)}")</span> 2373 } 2374 <div class="u-color-light-gray--bg progress-bar__line"> 2375 <div class="progress-bar__line progress-bar__line--complete @defaultColorClass" style="width:@GetCompletionPercentage(settings.Value, settings.TotalValue);background-color:@settings.Color"></div> 2376 </div> 2377 </div> 2378 } 2379 2380 @functions 2381 { 2382 private static string GetCompletionPercentage(double value, double total) 2383 { 2384 var percentage = value * 100 / total; 2385 return Math.Round(percentage) + "%"; 2386 } 2387 2388 private static dynamic FormatValue(double value, double total, ProgressionBarRenderType.RenderType? renderType) 2389 { 2390 switch (renderType) 2391 { 2392 case ProgressionBarRenderType.RenderType.Price: 2393 return Dynamicweb.Ecommerce.Services.Currencies.Format(Dynamicweb.Ecommerce.Common.Context.Currency, value, true); 2394 case ProgressionBarRenderType.RenderType.Percentage: 2395 return GetCompletionPercentage(value, total); 2396 case ProgressionBarRenderType.RenderType.NoFormat: 2397 default: 2398 return value; 2399 } 2400 } 2401 } 2402 2403 @using Dna.Kiesler.Components 2404 2405 @* Component *@ 2406 2407 @helper RenderAddToCartWithQuote(AddToCartWithQuote settings) 2408 { 2409 //set Id for quantity selector to get it's value from button 2410 if (settings.QuantitySelector != null) 2411 { 2412 if (string.IsNullOrEmpty(settings.QuantitySelector.Id)) 2413 { 2414 settings.QuantitySelector.Id = Guid.NewGuid().ToString("N"); 2415 } 2416 2417 settings.AddButton.QuantitySelectorId = settings.QuantitySelector.Id; 2418 settings.AddToQuoteButton.QuantitySelectorId = settings.QuantitySelector.Id; 2419 2420 if (settings.Disabled) 2421 { 2422 settings.QuantitySelector.Disabled = true; 2423 } 2424 2425 if (string.IsNullOrEmpty(settings.QuantitySelector.Name)) 2426 { 2427 settings.QuantitySelector.Name = settings.QuantitySelector.Id; 2428 } 2429 } 2430 2431 if (settings.Disabled) 2432 { 2433 settings.AddButton.Disabled = true; 2434 settings.AddToQuoteButton.Disabled = true; 2435 } 2436 2437 settings.AddButton.CssClass += " btn--condensed"; 2438 settings.AddToQuoteButton.CssClass += " btn--condensed"; 2439 2440 //unitsSelector 2441 if (settings.UnitSelector != null) 2442 { 2443 if (settings.Disabled) 2444 { 2445 settings.QuantitySelector.Disabled = true; 2446 } 2447 } 2448 2449 <div class="buttons-collection @settings.WrapperCssClass" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 2450 @if (settings.UnitSelector != null) 2451 { 2452 @Render(settings.UnitSelector) 2453 } 2454 @if (settings.QuantitySelector != null) 2455 { 2456 @Render(settings.QuantitySelector) 2457 } 2458 @Render(settings.AddButton) 2459 @Render(settings.AddToQuoteButton) 2460 @if (settings.ExtraButton != null) 2461 { 2462 @Render(settings.ExtraButton) 2463 } 2464 </div> 2465 } 2466 @using Dna.Kiesler.Components 2467 2468 @* Component *@ 2469 2470 @helper RenderAddToCartButtonWithCartContext(AddToCartButtonWithCartContext settings) 2471 { 2472 if (!settings.HideTitle) 2473 { 2474 if (string.IsNullOrEmpty(settings.Title)) 2475 { 2476 if (settings.BuyForPoints) 2477 { 2478 settings.Title = Translate("Buy with points"); 2479 } 2480 else 2481 { 2482 settings.Title = Translate("Add to cart"); 2483 } 2484 } 2485 } 2486 else 2487 { 2488 settings.Title = ""; 2489 } 2490 2491 if (settings.Icon == null) 2492 { 2493 settings.Icon = new Icon(); 2494 settings.Icon.LabelPosition = Dynamicweb.Rapido.Blocks.Components.General.IconLabelPosition.After; 2495 } 2496 2497 if (string.IsNullOrEmpty(settings.Icon.Name)) 2498 { 2499 settings.Icon.Name = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue; 2500 } 2501 2502 settings.OnClick = "Cart.AddToCartContext(event, { " + 2503 "id: '" + settings.ProductId + "'," + 2504 (!string.IsNullOrEmpty(settings.CartId) ? "cartId: '" + settings.CartId + "'," : "") + 2505 (!string.IsNullOrEmpty(settings.CartContainerId) ? "cartContainerId: '" + settings.CartContainerId + "'," : "") + 2506 (!string.IsNullOrEmpty(settings.CartContextId) ? "orderContextId: '" + settings.CartContextId + "'," : "") + 2507 (!string.IsNullOrEmpty(settings.VariantId) ? "variantId: '" + settings.VariantId + "'," : "") + 2508 (!string.IsNullOrEmpty(settings.UnitId) ? "unitId: '" + settings.UnitId + "'," : "") + 2509 (settings.BuyForPoints ? "buyForPoints: true," : "") + 2510 (!string.IsNullOrEmpty(settings.ProductInfo) ? "productInfo: " + settings.ProductInfo + "," : "") + 2511 "quantity: " + (string.IsNullOrEmpty(settings.QuantitySelectorId) ? "1" : "parseFloat(document.getElementById('" + settings.QuantitySelectorId + "').value)") + 2512 "});" + settings.OnClick; 2513 2514 @RenderButton(settings) 2515 } 2516 @using Dynamicweb.Rapido.Blocks.Components 2517 @using Dynamicweb.Rapido.Blocks.Components.General 2518 @using Dynamicweb.Rapido.Blocks 2519 @using System.IO 2520 2521 2522 @using Dynamicweb.Rapido.Blocks.Components.General 2523 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 2524 2525 2526 @* Component *@ 2527 2528 @helper RenderVariantMatrix(VariantMatrix settings) { 2529 if (settings != null) 2530 { 2531 int productLoopCounter = 0; 2532 int groupCount = 0; 2533 List<VariantOption> firstDimension = new List<VariantOption>(); 2534 List<VariantOption> secondDimension = new List<VariantOption>(); 2535 List<VariantOption> thirdDimension = new List<VariantOption>(); 2536 2537 foreach (VariantGroup variantGroup in settings.GetVariantGroups()) 2538 { 2539 foreach (VariantOption variantOptions in variantGroup.GetVariantOptions()) 2540 { 2541 if (groupCount == 0) { 2542 firstDimension.Add(variantOptions); 2543 } 2544 if (groupCount == 1) 2545 { 2546 secondDimension.Add(variantOptions); 2547 } 2548 if (groupCount == 2) 2549 { 2550 thirdDimension.Add(variantOptions); 2551 } 2552 } 2553 groupCount++; 2554 } 2555 2556 int rowCount = 0; 2557 int columnCount = 0; 2558 2559 <script> 2560 var variantsCollection = []; 2561 </script> 2562 2563 <table class="table table--compact js-variants-matrix dw-mod" id="VariantMatrixTable_@settings.ProductId"> 2564 @if (groupCount == 1) 2565 { 2566 <tbody> 2567 @foreach (VariantOption firstVariantOption in firstDimension) 2568 { 2569 var variantId = firstVariantOption.Id; 2570 <tr> 2571 <td class="u-bold"> 2572 @firstVariantOption.Name 2573 </td> 2574 <td> 2575 @RenderVariantMatrixQuantityField(variantId, settings, productLoopCounter, rowCount, columnCount) 2576 </td> 2577 </tr> 2578 productLoopCounter++; 2579 } 2580 2581 <tr> 2582 <td>&nbsp;</td> 2583 <td> 2584 <div class="qty-field js-total-qty-column-@columnCount dw-mod">0</div> 2585 </td> 2586 </tr> 2587 </tbody> 2588 } 2589 @if (groupCount == 2) 2590 { 2591 <thead> 2592 <tr> 2593 <td>&nbsp;</td> 2594 @foreach (VariantOption variant in secondDimension) 2595 { 2596 <td>@variant.Name</td> 2597 } 2598 </tr> 2599 </thead> 2600 <tbody> 2601 @foreach (VariantOption firstVariantOption in firstDimension) 2602 { 2603 string variantId = ""; 2604 columnCount = 0; 2605 2606 <tr> 2607 <td class="u-min-w120px">@firstVariantOption.Name</td> 2608 2609 @foreach (VariantOption secondVariantOption in secondDimension) 2610 { 2611 variantId = firstVariantOption.Id + "." + secondVariantOption.Id; 2612 <td> 2613 @RenderVariantMatrixQuantityField(variantId, settings, productLoopCounter, rowCount, columnCount) 2614 </td> 2615 2616 columnCount++; 2617 2618 productLoopCounter++; 2619 } 2620 2621 <td> 2622 <div class="qty-field js-total-qty-row-@rowCount dw-mod">0</div> 2623 </td> 2624 </tr> 2625 2626 rowCount++; 2627 } 2628 2629 @{ 2630 columnCount = 0; 2631 } 2632 2633 <tr> 2634 <td>&nbsp;</td> 2635 @foreach (VariantOption secondVariantOption in secondDimension) 2636 { 2637 <td> 2638 <div class="qty-field js-total-qty-column-@columnCount dw-mod">0</div> 2639 </td> 2640 2641 columnCount++; 2642 } 2643 <td>&nbsp;</td> 2644 </tr> 2645 </tbody> 2646 } 2647 @if (groupCount == 3) 2648 { 2649 <thead> 2650 <tr> 2651 <td>&nbsp;</td> 2652 @foreach (VariantOption thirdVariantOption in thirdDimension) 2653 { 2654 <td>@thirdVariantOption.Name</td> 2655 } 2656 </tr> 2657 </thead> 2658 <tbody> 2659 @foreach (VariantOption firstVariantOption in firstDimension) 2660 { 2661 int colspan = (thirdDimension.Count + 1); 2662 2663 <tr> 2664 <td colspan="@colspan" class="u-color-light-gray--bg u-bold">@firstVariantOption.Name</td> 2665 </tr> 2666 2667 foreach (VariantOption secondVariantOption in secondDimension) 2668 { 2669 string variantId = ""; 2670 columnCount = 0; 2671 2672 <tr> 2673 <td class="u-min-w120px">@secondVariantOption.Name</td> 2674 2675 @foreach (VariantOption thirdVariantOption in thirdDimension) 2676 { 2677 variantId = firstVariantOption.Id + "." + secondVariantOption.Id + "." + thirdVariantOption.Id; 2678 2679 <td> 2680 @RenderVariantMatrixQuantityField(variantId, settings, productLoopCounter, rowCount, columnCount) 2681 </td> 2682 2683 columnCount++; 2684 productLoopCounter++; 2685 } 2686 2687 <td> 2688 <div class="qty-field js-total-qty-row-@rowCount dw-mod">0</div> 2689 </td> 2690 </tr> 2691 rowCount++; 2692 } 2693 } 2694 2695 @{ 2696 columnCount = 0; 2697 } 2698 2699 <tr> 2700 <td>&nbsp;</td> 2701 @foreach (VariantOption thirdVariantOption in thirdDimension) 2702 { 2703 <td> 2704 <div class="qty-field js-total-qty-column-@columnCount dw-mod">0</div> 2705 </td> 2706 2707 columnCount++; 2708 } 2709 <td>&nbsp;</td> 2710 </tr> 2711 </tbody> 2712 } 2713 </table> 2714 2715 <script> 2716 document.addEventListener("DOMContentLoaded", function (event) { 2717 MatrixUpdateQuantity("@settings.ProductId"); 2718 }); 2719 2720 MatrixUpdateQuantity = function (productId) { 2721 var currentMatrix = document.getElementById("VariantMatrixTable_" + productId); 2722 var allQtyFields = currentMatrix.getElementsByClassName("js-qty"); 2723 2724 var qtyRowArr = []; 2725 var qtyColumnArr = []; 2726 2727 var totalQty = 0; 2728 2729 for (var i = 0; i < allQtyFields.length; i++) { 2730 qtyRowArr[allQtyFields[i].getAttribute("data-qty-row-group")] = 0; 2731 qtyColumnArr[allQtyFields[i].getAttribute("data-qty-column-group")] = 0; 2732 } 2733 2734 for (var i = 0; i < allQtyFields.length; i++) { 2735 qtyRowArr[allQtyFields[i].getAttribute("data-qty-row-group")] += parseFloat(allQtyFields[i].value); 2736 qtyColumnArr[allQtyFields[i].getAttribute("data-qty-column-group")] += parseFloat(allQtyFields[i].value); 2737 totalQty += parseFloat(allQtyFields[i].value); 2738 } 2739 2740 //Update row counters 2741 for (var i = 0; i < qtyRowArr.length; i++) { 2742 var qtyCounter = currentMatrix.getElementsByClassName("js-total-qty-row-" + i)[0]; 2743 2744 if (qtyRowArr[i] != undefined && qtyCounter != null) { 2745 var currentCount = qtyCounter.innerHTML; 2746 qtyCounter.innerHTML = qtyRowArr[i]; 2747 2748 if (currentCount != qtyCounter.innerHTML) { 2749 qtyCounter.classList.add("qty-field--active"); 2750 } 2751 } 2752 2753 } 2754 2755 //Update column counters 2756 for (var i = 0; i < qtyColumnArr.length; i++) { 2757 var qtyCounter = currentMatrix.getElementsByClassName("js-total-qty-column-" + i)[0]; 2758 2759 if (qtyColumnArr[i] != undefined && qtyCounter != null) { 2760 var currentCount = qtyCounter.innerHTML; 2761 qtyCounter.innerHTML = qtyColumnArr[i]; 2762 2763 if (currentCount != qtyCounter.innerHTML) { 2764 qtyCounter.classList.add("qty-field--active"); 2765 } 2766 } 2767 } 2768 2769 if (document.getElementById("TotalQtyCount_" + productId)) { 2770 document.getElementById("TotalQtyCount_" + productId).innerHTML = totalQty; 2771 } 2772 2773 //Clean up animations 2774 setTimeout(function () { 2775 for (var i = 0; i < qtyRowArr.length; i++) { 2776 var qtyCounter = currentMatrix.getElementsByClassName("js-total-qty-row-" + i)[0]; 2777 if (qtyCounter != null) { 2778 qtyCounter.classList.remove("qty-field--active"); 2779 } 2780 } 2781 for (var i = 0; i < qtyColumnArr.length; i++) { 2782 var qtyCounter = currentMatrix.getElementsByClassName("js-total-qty-column-" + i)[0]; 2783 if (qtyCounter != null) { 2784 qtyCounter.classList.remove("qty-field--active"); 2785 } 2786 } 2787 }, 1000); 2788 } 2789 </script> 2790 } 2791 } 2792 2793 @helper RenderVariantMatrixQuantityField(string variantId, VariantMatrix settings, int productLoopCounter, int rowCount, int columnCount) 2794 { 2795 string loopCount = productLoopCounter.ToString(); 2796 2797 bool combinationFound = false; 2798 double stock = 0; 2799 double quantityValue = 0; 2800 string note = ""; 2801 2802 VariantProduct variantProduct = null; 2803 2804 if (settings.GetVariantProducts().TryGetValue(variantId, out variantProduct)) 2805 { 2806 stock = variantProduct.Stock; 2807 quantityValue = variantProduct.Quantity; 2808 combinationFound = true; 2809 } 2810 2811 if (combinationFound) 2812 { 2813 <input type="hidden" name="ProductLoopCounter@(loopCount)" value="@loopCount" /> 2814 <input type="hidden" name="ProductID@(loopCount)" value="@settings.ProductId" /> 2815 <input type="hidden" name="VariantID@(loopCount)" value="@variantId" /> 2816 <input type="hidden" name="CurrentNote@(loopCount)" id="CurrentNote_@(settings.ProductId)_@variantId" value="@note" /> 2817 <input type="number" name="Quantity@(loopCount)" id="Quantity_@(settings.ProductId)_@variantId" value="@quantityValue" min="0" class="js-qty u-no-margin u-full-max-width" style="width: 100%; max-width: 100%" onkeyup="MatrixUpdateQuantity('@settings.ProductId')" onmouseup="MatrixUpdateQuantity('@settings.ProductId')" data-qty-row-group="@rowCount" data-qty-column-group="@columnCount"> 2818 2819 if (stock != 0) 2820 { 2821 <small>@Translate("Stock") @stock</small> 2822 } 2823 2824 <script> 2825 var variants = '{ "ProductId" :' + '"@settings.ProductId"' + ', "VariantId": ' + '"@variantId"' +'}'; 2826 variantsCollection.push(variants); 2827 document.getElementById("Quantity_@(settings.ProductId)_@variantId").closest(".js-variants-matrix").setAttribute("data-variants-collection", "[" + variantsCollection + "]" ); 2828 </script> 2829 } 2830 else 2831 { 2832 <div class="use-btn-height" style="background-color: #a8a8a8"></div> 2833 } 2834 } 2835 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 2836 2837 @* Component *@ 2838 2839 @helper RenderAddToCart(AddToCart settings) 2840 { 2841 //set Id for quantity selector to get it's value from button 2842 if (settings.QuantitySelector != null) 2843 { 2844 if (string.IsNullOrEmpty(settings.QuantitySelector.Id)) 2845 { 2846 settings.QuantitySelector.Id = Guid.NewGuid().ToString("N"); 2847 } 2848 2849 settings.AddButton.QuantitySelectorId = settings.QuantitySelector.Id; 2850 2851 if (settings.Disabled) 2852 { 2853 settings.QuantitySelector.Disabled = true; 2854 } 2855 2856 if (string.IsNullOrEmpty(settings.QuantitySelector.Name)) 2857 { 2858 settings.QuantitySelector.Name = settings.QuantitySelector.Id; 2859 } 2860 2861 settings.QuantitySelector.Max = "{{availableAmount}}"; 2862 } 2863 2864 if (settings.Disabled) 2865 { 2866 settings.AddButton.Disabled = true; 2867 } 2868 2869 settings.AddButton.CssClass += " btn--condensed"; 2870 2871 //unitsSelector 2872 if (settings.UnitSelector != null) 2873 { 2874 if (settings.Disabled) 2875 { 2876 settings.QuantitySelector.Disabled = true; 2877 } 2878 } 2879 2880 <div class="buttons-collection @settings.WrapperCssClass" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 2881 @if (settings.UnitSelector != null) 2882 { 2883 @Render(settings.UnitSelector) 2884 } 2885 @if (settings.QuantitySelector != null) 2886 { 2887 @Render(settings.QuantitySelector) 2888 } 2889 @Render(settings.AddButton) 2890 </div> 2891 } 2892 @using Dynamicweb.Core 2893 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 2894 @using Dynamicweb.Rapido.Blocks.Components.General 2895 @* Component *@ 2896 2897 @helper RenderAddToCartButton(AddToCartButton settings) 2898 { 2899 if (!settings.HideTitle) 2900 { 2901 if (string.IsNullOrEmpty(settings.Title)) 2902 { 2903 if (settings.BuyForPoints) 2904 { 2905 settings.Title = Translate("Buy with points"); 2906 } 2907 else 2908 { 2909 settings.Title = Translate("Add to cart"); 2910 } 2911 } 2912 } 2913 else 2914 { 2915 settings.Title = ""; 2916 2917 if (settings.BuyForPoints) 2918 { 2919 settings.AltText = Translate("Buy with points"); 2920 } 2921 else 2922 { 2923 settings.AltText = Translate("Add to cart"); 2924 } 2925 } 2926 2927 var webServiceConnectionAvailableTag = Pageview.GlobalTags.GetTagByName("Global:LiveIntegration.IsWebServiceConnectionAvailable"); 2928 var erpDownDisableAddToCart = Pageview.AreaSettings.GetItem("Rizzo").GetBoolean("ErpDownDisableAddToCart"); 2929 if (webServiceConnectionAvailableTag != null && !Converter.ToBoolean(webServiceConnectionAvailableTag.Value) && erpDownDisableAddToCart) 2930 { 2931 settings.Disabled = true; 2932 settings.AltText = Translate("Temporarily unavailable"); 2933 } 2934 2935 if (settings.Icon == null) 2936 { 2937 settings.Icon = new Icon(); 2938 settings.Icon.LabelPosition = Dynamicweb.Rapido.Blocks.Components.General.IconLabelPosition.After; 2939 } 2940 2941 if (string.IsNullOrEmpty(settings.Icon.Name)) 2942 { 2943 settings.Icon.Name = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue; 2944 } 2945 2946 string cartArgs = "{ " + 2947 "id: '" + settings.ProductId + "'," + 2948 (!string.IsNullOrEmpty(settings.VariantId) ? "variantId: '" + settings.VariantId + "'," : "") + 2949 (!string.IsNullOrEmpty(settings.UnitId) ? "unitId: '" + settings.UnitId + "'," : "") + 2950 (settings.BuyForPoints ? "buyForPoints: true," : "") + 2951 (!string.IsNullOrEmpty(settings.ProductInfo) ? "productInfo: " + settings.ProductInfo + "," : "") + 2952 "quantity: " + (string.IsNullOrEmpty(settings.QuantitySelectorId) ? "1" : "parseFloat(document.getElementById('" + settings.QuantitySelectorId + "').value)") + 2953 "}"; 2954 string stockValidationUrl = Dna.StockValidation.Product.GetValidationUrl(GetPageIdByNavigationTag("StockValidation"), settings.ProductId, settings.VariantId, settings.UnitId, Pageview.Area.EcomLanguageId); 2955 2956 settings.OnClick = "StockValidation.AddToCartValidation(event, " + cartArgs + ", '" + stockValidationUrl + "');" + settings.OnClick; 2957 2958 @RenderButton(settings) 2959 } 2960 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 2961 2962 @* Component *@ 2963 2964 @helper RenderUnitSelector(UnitSelector settings) 2965 { 2966 if (string.IsNullOrEmpty(settings.Id)) 2967 { 2968 settings.Id = Guid.NewGuid().ToString("N"); 2969 } 2970 var disabledClass = settings.Disabled ? "disabled" : ""; 2971 2972 <input type="checkbox" id="@settings.Id" class="dropdown-trigger" /> 2973 <div class="dropdown unit-selector @settings.CssClass @disabledClass dw-mod" @ComponentMethods.AddAttributes(settings.ExtraAttributes)> 2974 <label class="dropdown__header dropdown__btn dropdown__btn--unit-selector dw-mod" for="@settings.Id">@settings.SelectedOption</label> 2975 <div class="dropdown__content dw-mod"> 2976 @settings.OptionsContent 2977 </div> 2978 <label class="dropdown-trigger-off" for="@settings.Id"></label> 2979 </div> 2980 } 2981 @using System.Reflection 2982 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 2983 2984 @* Component *@ 2985 2986 @helper RenderQuantitySelector(QuantitySelector settings) 2987 { 2988 var attributes = new Dictionary<string, string>(); 2989 2990 /*base settings*/ 2991 if (!string.IsNullOrEmpty(settings.Id)) { attributes.Add("id", settings.Id); } 2992 if (!string.IsNullOrEmpty(settings.OnClick)) { attributes.Add("onclick", settings.OnClick); } 2993 if (!string.IsNullOrEmpty(settings.OnChange)) { attributes.Add("onchange", settings.OnChange); } 2994 if (settings.Disabled) { attributes.Add("disabled", "true"); } 2995 if (settings.Required) { attributes.Add("required", "true"); } 2996 if (!string.IsNullOrEmpty(settings.Name)) { attributes.Add("name", settings.Name); } 2997 /*end*/ 2998 2999 if (!string.IsNullOrEmpty(settings.OnKeyUp)) { attributes.Add("onkeyup", settings.OnKeyUp); } 3000 if (!string.IsNullOrEmpty(settings.OnInput)) { attributes.Add("oninput", settings.OnInput); } 3001 if (!string.IsNullOrEmpty(settings.OnFocus)) { attributes.Add("onfocus", settings.OnFocus); } 3002 if (settings.ReadOnly) { attributes.Add("readonly", "true"); } 3003 if (settings.Max != null) { attributes.Add("max", settings.Max.ToString()); } 3004 if (settings.Min == null) { settings.Min = 1; } 3005 attributes.Add("min", settings.Min.ToString()); 3006 if (settings.Step != null && !string.IsNullOrEmpty(settings.Step.ToString())) { attributes.Add("step", settings.Step.ToString()); } 3007 if (settings.Value == null) { settings.Value = 1; } 3008 attributes.Add("value", settings.Value.ToString()); 3009 attributes.Add("type", "number"); 3010 attributes.Add("aria-label", Translate("Quantity")); 3011 3012 var resultAttributes = attributes.Concat(settings.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 3013 3014 <input @ComponentMethods.AddAttributes(resultAttributes) class="@settings.CssClass dw-mod" /> 3015 } 3016 @using Dynamicweb.Rapido.Blocks.Components 3017 3018 @using Dynamicweb.Frontend 3019 @using Dynamicweb.Frontend.Devices 3020 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 3021 @using Dynamicweb.Rapido.Blocks.Components.General 3022 @using System.Collections.Generic; 3023 @using HtmlAgilityPack 3024 3025 @* Component *@ 3026 @functions 3027 { 3028 private static string GetListHeaderItem(CustomerCenterList settings, int index) 3029 { 3030 var headers = settings.GetHeaders(); 3031 3032 if (headers.Length < 1 || headers.Length < index) return ""; 3033 3034 CustomerCenterListHeaderItem header = (CustomerCenterListHeaderItem)headers[index]; 3035 3036 if (header == null) return ""; 3037 3038 var doc = new HtmlDocument(); 3039 doc.LoadHtml(header.Title); 3040 3041 return doc.DocumentNode.SelectNodes("//div")?.First().InnerText ?? header.Title; 3042 } 3043 } 3044 @helper RenderCustomerCenterList(CustomerCenterList settings) 3045 { 3046 bool isTouchDevice = Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet" ? true : false; 3047 string hideActions = isTouchDevice ? "u-block" : ""; 3048 3049 <table class="table data-list table--responsive dw-mod"> 3050 @if (settings.GetHeaders().Length > 0) { 3051 <thead> 3052 <tr class="u-bold"> 3053 @foreach (CustomerCenterListHeaderItem header in settings.GetHeaders()) 3054 { 3055 var attributes = new Dictionary<string, string>(); 3056 if (!string.IsNullOrEmpty(header.Id)) { attributes.Add("id", header.Id); } 3057 if (!string.IsNullOrEmpty(header.CssClass)) { attributes.Add("class", header.CssClass); } 3058 attributes.Add("align", header.Align.ToString()); 3059 attributes = attributes.Concat(header.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 3060 3061 <td @ComponentMethods.AddAttributes(attributes)>@header.Title</td> 3062 } 3063 </tr> 3064 </thead> 3065 } 3066 @foreach (CustomerCenterListItem listItem in settings.GetItems()) 3067 { 3068 int columnCount = 0; 3069 int headerIndex = 0; 3070 int totalColumns = listItem.GetInfoItems().Length; 3071 string rowHasActions = listItem.GetActions().Length > 0 ? "data-list__item--has-actions" : ""; 3072 listItem.Id = !string.IsNullOrEmpty(listItem.Id) ? listItem.Id : Guid.NewGuid().ToString("N"); 3073 3074 var attributes = new Dictionary<string, string>(); 3075 if (!string.IsNullOrEmpty(listItem.Title)) { attributes.Add("title", listItem.Title); }; 3076 3077 attributes = attributes.Concat(listItem.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 3078 <tbody class="data-list__item @rowHasActions @listItem.CssClass dw-mod" @ComponentMethods.AddAttributes(attributes)> 3079 <tr> 3080 @if (!string.IsNullOrEmpty(listItem.Title) || !string.IsNullOrEmpty(listItem.Description)) { 3081 string onClick = !string.IsNullOrEmpty(listItem.OnClick) ? "onclick=\"" + listItem.OnClick + "\"" : ""; 3082 headerIndex++; 3083 3084 <td rowspan="2" @onClick class="data-list__main-item dw-mod"> 3085 @if (!string.IsNullOrEmpty(listItem.Title)) { 3086 <div class="u-bold">@listItem.Title</div> 3087 } 3088 @if (!string.IsNullOrEmpty(listItem.Description)) { 3089 <div>@listItem.Description</div> 3090 } 3091 </td> 3092 } 3093 3094 @foreach (CustomerCenterListInfoItem infoItem in listItem.GetInfoItems()) 3095 { 3096 var infoAttributes = new Dictionary<string, string>(); 3097 if (!string.IsNullOrEmpty(infoItem.Id)) { infoAttributes.Add("id", infoItem.Id); }; 3098 if (!string.IsNullOrEmpty(infoItem.OnClick)) { infoAttributes.Add("onclick", infoItem.OnClick); }; 3099 infoAttributes.Add("data-th", GetListHeaderItem(settings, headerIndex)); 3100 infoAttributes.Add("align", infoItem.Align.ToString()); 3101 3102 infoAttributes = infoAttributes.Concat(infoItem.ExtraAttributes).GroupBy(d => d.Key).ToDictionary (d => d.Key, d => d.Last().Value); 3103 string columnClick = columnCount < (totalColumns-1) && !string.IsNullOrEmpty(listItem.OnClick) ? "onclick=\"" + listItem.OnClick + "\"" : ""; 3104 3105 <td @ComponentMethods.AddAttributes(infoAttributes) @columnClick class="@infoItem.CssClass data-list__info-item dw-mod"> 3106 @if (!string.IsNullOrEmpty(infoItem.Title)) { 3107 <div>@infoItem.Title</div> 3108 } 3109 @if (!string.IsNullOrEmpty(infoItem.Subtitle)) { 3110 <div><small>@infoItem.Subtitle</small></div> 3111 } 3112 </td> 3113 3114 columnCount++; 3115 headerIndex++; 3116 } 3117 </tr> 3118 @if (listItem.GetActions().Any()) 3119 { 3120 <tr> 3121 <td colspan="@totalColumns" align="right" class="data-list__actions-row u-va-bottom u-no-border"> 3122 <div class="data-list__actions @hideActions dw-mod" id="ActionsMenu_@listItem.Id"> 3123 @foreach (ButtonBase action in listItem.GetActions()) 3124 { 3125 action.ButtonLayout = ButtonLayout.LinkClean; 3126 action.Icon.CssClass += " u-full-height"; 3127 action.CssClass += " data-list__action-button link"; 3128 3129 @Render(action) 3130 } 3131 </div> 3132 </td> 3133 </tr> 3134 } 3135 </tbody> 3136 } 3137 </table> 3138 } 3139 3140 @* Include the Blocks for the page *@ 3141 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 3142 @using Dynamicweb.Core 3143 @using System 3144 @using System.Web 3145 @using System.Collections.Generic 3146 @using Dynamicweb.Rapido.Blocks 3147 @using Dynamicweb.Rapido.Blocks.Components.General 3148 3149 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 3150 @using System.Linq; 3151 @using Dynamicweb.Rapido.Blocks.Components.General 3152 @using System.Collections.Generic 3153 3154 @functions{ 3155 Dictionary<string, StickersListPosition> stickerPositions = new Dictionary<string, StickersListPosition> 3156 { 3157 { "top-left", StickersListPosition.TopLeft }, 3158 { "top-right", StickersListPosition.TopRight }, 3159 { "bottom-left", StickersListPosition.BottomLeft }, 3160 { "bottom-right", StickersListPosition.BottomRight } 3161 }; 3162 3163 public void AddSticker(List<StickersCollection> list, Sticker sticker, StickersListPosition stickerPosition) 3164 { 3165 StickersCollection stickersContainerTemp = list.FirstOrDefault(stickersContainer => stickersContainer.Position == stickerPosition); 3166 if (stickersContainerTemp == null) 3167 { 3168 stickersContainerTemp = new StickersCollection() 3169 { 3170 Position = stickerPosition, 3171 Stickers = new List<Sticker>() 3172 }; 3173 list.Add(stickersContainerTemp); 3174 } 3175 stickersContainerTemp.Stickers.Add(sticker); 3176 } 3177 3178 public List<StickersCollection> GetStickersContainersList(List<LoopItem> discountsLoop, double discountPrice, double price, DateTime createdDate, string customStickerValue) 3179 { 3180 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 3181 bool isSaleStickersEnabled = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("SaleSticker").GetBoolean("Enable"); 3182 bool isNewsStickersEnabled = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("NewSticker").GetBoolean("Enable"); 3183 bool isCustomStickersEnabled = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("CustomSticker").GetBoolean("Enable"); 3184 3185 List<StickersCollection> resultList = new List<StickersCollection>(); 3186 3187 if (!pointShopOnly && isSaleStickersEnabled) 3188 { 3189 string contentType = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("SaleSticker").GetString("ContentType"); 3190 contentType = !string.IsNullOrEmpty(contentType) ? contentType : "Name"; 3191 var currency = Dynamicweb.Ecommerce.Services.Currencies.GetDefaultCurrency(); 3192 Sticker saleSticker = new Sticker(); 3193 saleSticker.CssClass = "stickers-container__tag--sale"; 3194 3195 switch (contentType) 3196 { 3197 case "Name": 3198 foreach (LoopItem discount in discountsLoop) 3199 { 3200 saleSticker.Title = discount.GetString("Ecom:Product.Discount.Name"); 3201 } 3202 break; 3203 case "Amount": 3204 if (discountsLoop.Count > 0) 3205 { 3206 saleSticker.Title = Dynamicweb.Ecommerce.Services.Currencies.Format(currency, discountPrice - price); 3207 } 3208 break; 3209 case "Percents": 3210 double percents = 0; 3211 foreach (LoopItem discount in discountsLoop) 3212 { 3213 percents += discount.GetDouble("Ecom:Product.Discount.PercentWithoutVAT"); 3214 } 3215 if (percents > 0) 3216 { 3217 saleSticker.Title = Math.Round(percents, 0) + "%"; 3218 } 3219 break; 3220 case "Amount and percents": 3221 double amount = 0; 3222 double percent = 0; 3223 foreach (LoopItem discount in discountsLoop) 3224 { 3225 if (discount.GetString("Ecom:Product.Discount.Type") == "PERCENT") 3226 { 3227 percent += discount.GetDouble("Ecom:Product.Discount.PercentWithoutVAT"); 3228 } 3229 else if (discount.GetString("Ecom:Product.Discount.Type") == "AMOUNT") 3230 { 3231 amount += discount.GetDouble("Ecom:Product.Discount.AmountWithVAT"); 3232 } 3233 } 3234 3235 if (percent > 0) 3236 { 3237 saleSticker.Title = percent + "%"; 3238 } 3239 else if (amount > 0) 3240 { 3241 saleSticker.Title = "-" + Dynamicweb.Ecommerce.Services.Currencies.Format(currency, amount); 3242 } 3243 break; 3244 default: 3245 if (discountsLoop.Count > 0) 3246 { 3247 saleSticker.Title = Translate("Sale!"); 3248 } 3249 break; 3250 } 3251 StickersListPosition saleStickerPosition = StickersListPosition.TopLeft; 3252 if (Pageview.AreaSettings.GetItem("Ecommerce").GetItem("SaleSticker").GetList("Position") != null) 3253 { 3254 string value = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("SaleSticker").GetList("Position").SelectedValue; 3255 saleStickerPosition = stickerPositions.ContainsKey(value) ? stickerPositions[value] : stickerPositions["top-left"]; 3256 } 3257 if (!string.IsNullOrEmpty(saleSticker.Title)) 3258 { 3259 AddSticker(resultList, saleSticker, saleStickerPosition); 3260 } 3261 } 3262 3263 if (!pointShopOnly && isNewsStickersEnabled && createdDate.AddDays(Converter.ToDouble(Pageview.AreaSettings.GetItem("Ecommerce").GetItem("NewSticker").GetString("Expiration"))) > DateTime.Now) 3264 { 3265 Sticker newSticker = new Sticker(); 3266 newSticker.CssClass = "stickers-container__tag--new"; 3267 newSticker.Title = Translate("New!"); 3268 3269 StickersListPosition newStickerPosition = StickersListPosition.TopLeft; 3270 if (Pageview.AreaSettings.GetItem("Ecommerce").GetItem("NewSticker").GetList("Position") != null) 3271 { 3272 string value = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("NewSticker").GetList("Position").SelectedValue; 3273 newStickerPosition = stickerPositions.ContainsKey(value) ? stickerPositions[value] : stickerPositions["top-left"]; 3274 } 3275 if (!string.IsNullOrEmpty(newSticker.Title)) 3276 { 3277 AddSticker(resultList, newSticker, newStickerPosition); 3278 } 3279 } 3280 3281 if (!pointShopOnly && isCustomStickersEnabled && !string.IsNullOrEmpty(customStickerValue)) 3282 { 3283 Sticker customSticker = new Sticker(); 3284 customSticker.CssClass = "stickers-container__tag--custom"; 3285 customSticker.Title = customStickerValue; 3286 3287 StickersListPosition customStickerPosition = StickersListPosition.TopLeft; 3288 if (Pageview.AreaSettings.GetItem("Ecommerce").GetItem("CustomSticker").GetList("Position") != null) 3289 { 3290 string value = Pageview.AreaSettings.GetItem("Ecommerce").GetItem("CustomSticker").GetList("Position").SelectedValue; 3291 customStickerPosition = stickerPositions.ContainsKey(value) ? stickerPositions[value] : stickerPositions["top-left"]; 3292 } 3293 if (!string.IsNullOrEmpty(customSticker.Title)) 3294 { 3295 AddSticker(resultList, customSticker, customStickerPosition); 3296 } 3297 } 3298 3299 return resultList; 3300 } 3301 } 3302 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 3303 3304 3305 @* 3306 This is a temporary fallback for the DefaultImage. The image pattern MUST be set up like this: 3307 3308 ImageSmall = /{ProductNumber}.jpg 3309 ImageMedium = /{ProductNumber}{VariantOptionLevel1}.jpg 3310 ImageLarge = /{ProductNumber}{VariantComboName}.jpg 3311 3312 In addition to the ImageDefault setting 3313 *@ 3314 3315 @functions { 3316 public string GetProductImage(LoopItem productObject = null) 3317 { 3318 string theImage = ""; 3319 3320 if (productObject == null) { 3321 theImage = GetString("Ecom:Product.ImageDefault.Default.Clean"); 3322 theImage = String.IsNullOrEmpty(theImage) ? GetString("Ecom:Product.ImageLarge.Clean") : theImage; 3323 theImage = String.IsNullOrEmpty(theImage) ? GetString("Ecom:Product.ImageMedium.Clean") : theImage; 3324 theImage = String.IsNullOrEmpty(theImage) ? GetString("Ecom:Product.ImageSmall.Clean") : theImage; 3325 theImage = String.IsNullOrEmpty(theImage) ? GetString("Ecom:Product.ImageLarge.Default.Clean") : theImage; 3326 } else { 3327 theImage = productObject.GetString("Ecom:Product.ImageDefault.Default.Clean"); 3328 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString("Ecom:Product.ImageLarge.Clean") : theImage; 3329 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString("Ecom:Product.ImageMedium.Clean") : theImage; 3330 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString("Ecom:Product.ImageSmall.Clean") : theImage; 3331 theImage = String.IsNullOrEmpty(theImage) ? productObject.GetString("Ecom:Product.ImageLarge.Default.Clean") : theImage; 3332 } 3333 3334 return theImage; 3335 } 3336 } 3337 3338 @functions { 3339 BlocksPage mainImagePage = BlocksPage.GetBlockPage("Product"); 3340 bool showThumbs; 3341 bool thumbsOnTheSide; 3342 } 3343 3344 @{ 3345 int imageBlockWidth = Pageview.AreaSettings.GetItem("ProductPage").GetList("TopLayout") != null ? Converter.ToInt32(Pageview.AreaSettings.GetItem("ProductPage").GetList("TopLayout").SelectedValue) : 6; 3346 string blocksPosition = Pageview.AreaSettings.GetItem("ProductPage").GetList("ImageSectionPosition") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("ImageSectionPosition").SelectedValue : "thumbs-image-info"; 3347 bool infoOnTheRight = blocksPosition.LastIndexOf("info") == blocksPosition.Length - 4; 3348 showThumbs = blocksPosition.IndexOf("thumbs") != -1; 3349 thumbsOnTheSide = showThumbs && blocksPosition.IndexOf("thumbsBottom") == -1; 3350 bool thumbsOnTheLeft = blocksPosition.IndexOf("image") > blocksPosition.IndexOf("thumbs"); 3351 if (infoOnTheRight) 3352 { 3353 imageBlockWidth = 12 - imageBlockWidth; 3354 if (imageBlockWidth == 0) 3355 { 3356 imageBlockWidth = 12; 3357 } 3358 } 3359 3360 if (Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet") { 3361 thumbsOnTheSide = false; 3362 } 3363 3364 Block mainImageBlock = new Block() 3365 { 3366 Id = "MainImage", 3367 SortId = infoOnTheRight ? 10 : 20, 3368 Design = new Design 3369 { 3370 Size = Converter.ToString(imageBlockWidth), 3371 RenderType = RenderType.Column 3372 }, 3373 BlocksList = new List<Block> 3374 { 3375 new Block { 3376 Id = "MainImageRow", 3377 SortId = 10, 3378 Design = new Design 3379 { 3380 RenderType = RenderType.Row 3381 }, 3382 BlocksList = new List<Block> 3383 { 3384 new Block 3385 { 3386 Id = "Carousel", 3387 SortId = 10, 3388 Template = RenderThumbnails(), 3389 Design = new Design 3390 { 3391 Size = thumbsOnTheSide ? "2" : "12", 3392 RenderType = RenderType.Column 3393 } 3394 } 3395 } 3396 } 3397 } 3398 }; 3399 mainImagePage.Add("Top", mainImageBlock); 3400 3401 mainImagePage.Add("MainImageRow", 3402 new Block() 3403 { 3404 Id = "ProductImageModal", 3405 SortId = 0, 3406 Component = new Modal { 3407 Id = "Gallery", 3408 Width = ModalWidth.Lg, 3409 Height = ModalHeight.Full, 3410 BodyTemplate = RenderProductImagesCarousel("modalCarousel", 1, "horizontal", 3, true) 3411 } 3412 }); 3413 3414 if (showThumbs) 3415 { 3416 mainImagePage.Add("MainImageRow", 3417 new Block 3418 { 3419 Id = "Image", 3420 SortId = thumbsOnTheLeft ? 20 : 0, 3421 Template = RenderProductImage(), 3422 Design = new Design 3423 { 3424 Size = thumbsOnTheSide ? "auto" : "12", 3425 RenderType = RenderType.Column 3426 } 3427 }); 3428 } 3429 } 3430 3431 @helper RenderProductStickers() 3432 { 3433 List<StickersCollection> StickersContainers = GetStickersContainersList( 3434 GetLoop("ProductDiscounts"), 3435 GetDouble("Ecom:Product.Discount.Price.Price"), 3436 GetDouble("Ecom:Product.Price.Price"), 3437 GetDate("Ecom:Product.Created"), 3438 GetString("Ecom:Product:Field.CustomSticker.Value") 3439 ); 3440 3441 foreach (StickersCollection stickersContainer in StickersContainers) 3442 { 3443 @Render(new StickersCollection { Stickers = stickersContainer.Stickers, Position = stickersContainer.Position }) 3444 } 3445 } 3446 3447 @helper RenderProductImage() 3448 { 3449 //Add product image to the og meta data 3450 Pageview.Meta.AddTag("og:image", GetProductImage()); 3451 3452 <label for="GalleryModalTrigger" class="product__image-container u-position-relative"> 3453 @{ 3454 Image productImage = new Image 3455 { 3456 Path = GetProductImage(), 3457 Id = "Image_" + GetString("Ecom:Product.ID"), 3458 CssClass = "u-middle product__image-container__image dw-mod", 3459 Title = GetString("Ecom:Product.Name"), 3460 OnClick = "modalCarousel.GoToSlide('modalCarousel', this.getAttribute('data-number'))", 3461 ImageDefault = new ImageSettings 3462 { 3463 Width = 800, 3464 Height = 800, 3465 Crop = 5, 3466 FillCanvas = true 3467 } 3468 }; 3469 productImage.ExtraAttributes.Add("data-number", "0"); 3470 } 3471 @Render(productImage) 3472 @RenderProductStickers() 3473 </label> 3474 } 3475 3476 @helper RenderThumbnails() 3477 { 3478 <div class="@(showThumbs ? "product__thumbs" : "") dw-mod"> 3479 @RenderProductImagesCarousel( 3480 "productCarousel", 3481 !showThumbs ? 1 : 5, 3482 thumbsOnTheSide ? "vertical" : "horizontal", 3483 !showThumbs ? 3 : 2 3484 ) 3485 @if (!showThumbs) 3486 { 3487 @RenderProductStickers() 3488 } 3489 </div> 3490 } 3491 3492 @helper RenderProductImagesCarousel(string id, int slidesInView, string direction, int preloaderSize, bool isModal = false) 3493 { 3494 var selectedImageCategories = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductImagesInTopSection").SelectedValues; 3495 var imagesFromAssets = GetLoop("ImageCategories").Where(x => selectedImageCategories.Contains(x.GetString("Category.Id"))); 3496 3497 HashSet<string> images = new HashSet<string>(); 3498 3499 images.Add(GetProductImage()); 3500 3501 foreach (LoopItem alternativeImage in GetLoop("Ecom:Product.AlternativeImages")) 3502 { 3503 string alt_image = alternativeImage.GetString("Ecom:Product.AlternativeImages.Image"); 3504 3505 if (!string.IsNullOrEmpty(alt_image)) 3506 { 3507 images.Add(alt_image); 3508 } 3509 } 3510 3511 int assetImagesCount = 0; 3512 foreach (LoopItem category in imagesFromAssets) { 3513 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 3514 assetImagesCount++; 3515 } 3516 } 3517 3518 if (assetImagesCount > 0) { 3519 foreach (LoopItem category in imagesFromAssets) { 3520 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 3521 images.Add(asset.GetString("Ecom:Product:Detail.Image.Clean")); 3522 } 3523 } 3524 } else { 3525 foreach (LoopItem detail in GetLoop("Details")) 3526 { 3527 string detail_image = detail.GetString("Ecom:Product:Detail.Image.Clean"); 3528 3529 if (!string.IsNullOrEmpty(detail_image)) 3530 { 3531 string ext = Path.GetExtension(detail_image).ToLower(); 3532 if (ext == ".jpg" || ext == ".jpeg" || ext == ".gif" || ext == ".png") 3533 { 3534 images.Add(detail_image); 3535 } 3536 } 3537 } 3538 } 3539 3540 <div class="carousel dw-mod" id="@id"> 3541 <div class="thumb-list carousel__container @(slidesInView != 1 ? "carousel__container--hidden" : "") js-carousel-slides dw-mod"> 3542 @{ var i = 0; } 3543 @foreach (var image in images) 3544 { 3545 @RenderProductImage(image, slidesInView == 1, isModal ? "modal--full__img" : "", i == 0, isModal) 3546 i++; //first is active 3547 } 3548 </div> 3549 3550 <script> 3551 document.addEventListener("DOMContentLoaded", function () { 3552 @id = new CarouselModule('#@id', { 3553 slidesInView: @slidesInView, 3554 direction: "@direction", 3555 preloaderSize: @preloaderSize, 3556 showCounter: @isModal.ToString().ToLower() 3557 }); 3558 }); 3559 </script> 3560 </div> 3561 } 3562 3563 @helper RenderProductImage(string image, bool isBig, string cssClass = "", bool isActive = false, bool isModal = false) 3564 { 3565 string productId = GetString("Ecom:Product.ID"); 3566 string imagePrefix = "/Admin/Public/GetImage.ashx?width=800&amp;height=800&amp;crop=5&FillCanvas=True&DoNotUpscale=true&amp;Compression=75&amp;image="; 3567 3568 Image productImage = new Image { 3569 Path = image, 3570 Title = GetString("Ecom:Product.Name"), 3571 ImageDefault = new ImageSettings { 3572 Width = 800, 3573 Height = 800, 3574 Crop = 5, 3575 FillCanvas = true 3576 }, 3577 CssClass = "u-middle " + cssClass, 3578 OnClick = "modalCarousel.GoToSlide('modalCarousel', this.closest('.carousel__slide').index());" 3579 }; 3580 productImage.ExtraAttributes.Add("data-image", image); 3581 3582 <div class="carousel__slide dw-mod"> 3583 @if (isModal) 3584 { 3585 @Render(new Image { Path = image, CssClass = cssClass, Title = GetString("Ecom:Product.Name"), DisableImageEngine = true }); 3586 } 3587 else if (isBig) 3588 { 3589 <label for="GalleryModalTrigger" class="u-middle"> 3590 @Render(productImage) 3591 </label> 3592 } 3593 else 3594 { 3595 Image productThumb = productImage; 3596 productThumb.ImageDefault = new ImageSettings 3597 { 3598 Width = 200, 3599 Height = 200, 3600 Crop = 5, 3601 FillCanvas = true 3602 }; 3603 productImage.CssClass += " thumb-list__image"; 3604 <div class="thumb-list__item dw-mod js-thumb js-gallery @(isActive ? "js-thumb--active thumb-list__item--active" : "")" data-for="Image_@productId" data-image="@imagePrefix@image" onmouseover="Gallery.openImage(this)"> 3605 <label for="GalleryModalTrigger" class="thumb-list__image-label"> 3606 @Render(productThumb) 3607 </label> 3608 </div> 3609 } 3610 </div> 3611 } 3612 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 3613 @using Dynamicweb.Core 3614 @using System 3615 @using System.Web 3616 @using System.Collections.Generic 3617 @using Dynamicweb.Rapido.Services 3618 @using Dynamicweb.Rapido.Blocks 3619 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 3620 @using Dynamicweb.Rapido.Blocks.Components.General 3621 3622 @functions { 3623 bool useFacebookPixel; 3624 BlocksPage mainInfoPage = BlocksPage.GetBlockPage("Product"); 3625 } 3626 3627 @{ 3628 var mainInfoVariantsCount = GetInteger("Ecom:Product.VariantCount"); 3629 useFacebookPixel = !string.IsNullOrWhiteSpace(Pageview.AreaSettings.GetItem("Settings").GetString("FacebookPixelID")); 3630 bool hideAddToCartButton = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("hideAddToCartButton"); 3631 3632 //family members 3633 bool mainInfoIsFamilyMember = false; 3634 bool mainInfoIsFamilyMaster = false; 3635 var mainInfoVariantGroups = GetLoop("VariantGroups"); 3636 var mainInfoVariantGroupCount = mainInfoVariantGroups.Count; 3637 if (mainInfoVariantGroupCount == 1) 3638 { 3639 var firstVariantGroup = Dynamicweb.Ecommerce.Services.VariantGroups.GetVariantGroup(Dynamicweb.Ecommerce.Common.Context.LanguageID, mainInfoVariantGroups[0]?.GetString("Ecom:VariantGroup.ID")); 3640 if (firstVariantGroup != null) 3641 { 3642 mainInfoIsFamilyMember = firstVariantGroup.Family; 3643 string variantId = !string.IsNullOrEmpty(GetString("Ecom:Product.VariantID")) ? GetString("Ecom:Product.VariantID") : GetString("Ecom:Product.VariantID.Extented"); 3644 mainInfoIsFamilyMaster = string.IsNullOrEmpty(variantId); 3645 } 3646 } 3647 3648 bool mainInfoRenderVariantsAsProducts = mainInfoVariantsCount > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderVariantsAsProductList"); 3649 3650 if (mainInfoIsFamilyMember) 3651 { 3652 mainInfoRenderVariantsAsProducts = mainInfoVariantsCount > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderFamilyVariantsAsProducts") && mainInfoIsFamilyMaster; 3653 } 3654 3655 if (Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout") != null && mainInfoVariantsCount > 1) 3656 { 3657 mainInfoRenderVariantsAsProducts = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout").SelectedValue != "hide" && Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("EnableVariantMatrix") ? true : mainInfoRenderVariantsAsProducts; 3658 } 3659 3660 Block mainInfoHeader = new Block() 3661 { 3662 Id = "MainInfoHeader", 3663 SortId = 10, 3664 Template = RenderMainInfoHeader() 3665 }; 3666 mainInfoPage.Add("MainInformation", mainInfoHeader); 3667 3668 Block mainInfoDescription = new Block() 3669 { 3670 Id = "ShortDescription", 3671 SortId = 20, 3672 Template = RenderShortDescription() 3673 }; 3674 mainInfoPage.Add("MainInformation", mainInfoDescription); 3675 3676 if (!mainInfoRenderVariantsAsProducts && !mainInfoIsFamilyMember) 3677 { 3678 Block mainInfoVariants = new Block() 3679 { 3680 Id = "Variants", 3681 SortId = 50, 3682 Template = RenderMainInfoVariants() 3683 }; 3684 mainInfoPage.Add("MainInformation", mainInfoVariants); 3685 } 3686 3687 Block mainInfoBOM = new Block() 3688 { 3689 Id = "BOM", 3690 SortId = 60, 3691 Template = RenderMainInfoBOM() 3692 }; 3693 mainInfoPage.Add("MainInformation", mainInfoBOM); 3694 3695 if (!mainInfoRenderVariantsAsProducts) 3696 { 3697 if (!hideAddToCartButton) 3698 { 3699 Block mainInfoBuy = new Block() 3700 { 3701 Id = "Buy", 3702 SortId = 80, 3703 Template = RenderMainInfoBuy() 3704 }; 3705 mainInfoPage.Add("MainInformation", mainInfoBuy); 3706 } 3707 } 3708 3709 if (Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")) && User.IsBuyingAllowed() && GetPageIdByNavigationTag("OrderDraft") != 0) { 3710 Modal selectDraftModal = new Modal 3711 { 3712 Id = "OrderDraftSelect", 3713 Heading = new Heading { Title = Translate("Select draft cart"), Level = 2 }, 3714 BodyTemplate = RenderOrderDraftSelectModalContent(), 3715 Width = ModalWidth.Md 3716 }; 3717 selectDraftModal.AddAction(new Button { Title = Translate("Cancel"), OnClick = "document.getElementById('OrderDraftSelectModalTrigger').checked = false", ButtonLayout = ButtonLayout.Secondary }); 3718 selectDraftModal.AddAction(new Button { Title = Translate("Add"), OnClick = "addToSelectedCart()" }); 3719 3720 Block orderDraftSelect = new Block 3721 { 3722 Id = "OrderDraft", 3723 SortId = 90, 3724 Component = selectDraftModal 3725 }; 3726 mainInfoPage.Add("MainInformation", orderDraftSelect); 3727 3728 Modal notificationDraftModal = new Modal 3729 { 3730 Id = "OrderDraftNotification", 3731 Heading = new Heading { Title = Translate("Added to cart"), Level = 2 }, 3732 BodyText = Translate("The product has been added to the selected cart"), 3733 Width = ModalWidth.Md 3734 }; 3735 notificationDraftModal.AddAction(new Button { Title = Translate("View draft"), OnClick = "goToSelectedCart()", ButtonLayout = ButtonLayout.Secondary }); 3736 notificationDraftModal.AddAction(new Button { Title = Translate("Continue shopping"), OnClick = "document.getElementById('OrderDraftNotificationModalTrigger').checked = false" }); 3737 3738 Block orderDraftComplete = new Block 3739 { 3740 Id = "OrderDraftComplete", 3741 SortId = 100, 3742 Component = notificationDraftModal 3743 }; 3744 mainInfoPage.Add("MainInformation", orderDraftComplete); 3745 3746 3747 Block orderDraftScripts = new Block 3748 { 3749 Id = "OrderDraftScripts", 3750 SortId = 110, 3751 Template = RenderOrderDraftScripts() 3752 }; 3753 mainInfoPage.Add("MainInformation", orderDraftScripts); 3754 3755 Block googleTagManagerScripts = new Block 3756 { 3757 Id = "GoogleTagManagerScripts", 3758 SortId = 120, 3759 Template = RenderGoogleTagManagerScripts() 3760 }; 3761 mainInfoPage.Add("MainInformation", googleTagManagerScripts); 3762 } 3763 } 3764 3765 @helper RenderMainInfoHeader() 3766 { 3767 bool renderVariantsAsProducts = GetInteger("Ecom:Product.VariantCount") > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderVariantsAsProductList"); 3768 if (Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout") != null && GetInteger("Ecom:Product.VariantCount") > 1) 3769 { 3770 renderVariantsAsProducts = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout").SelectedValue != "hide" && Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("EnableVariantMatrix") ? true : renderVariantsAsProducts; 3771 } 3772 3773 string pageId = GetGlobalValue("Global:Page.ID").ToString(); 3774 string currentPrice = GetString("Ecom:Product.Discount.Price.PriceFormatted") == GetString("Ecom:Product.Price.PriceFormatted") ? GetString("Ecom:Product.Price.PriceFormatted") : GetString("Ecom:Product.Discount.Price.PriceFormatted"); 3775 bool hideFavorites = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideFavoriteButton"); 3776 bool hideProductNumber = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideProductNumber"); 3777 3778 bool useFontAwesomePro = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetBoolean("UseFontAwesomePro"); 3779 var selectedFavoriteIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("FavoriteIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("FavoriteIcon").SelectedValue : "star"; 3780 string favoriteIcon = "fas fa-" + selectedFavoriteIcon; 3781 string favoriteOutlineIcon = (useFontAwesomePro ? "fal" : "far") + " fa-" + selectedFavoriteIcon; 3782 3783 <div> 3784 <div class="u-pull--left product__title dw-mod"> 3785 <h1 class="u-no-margin">@GetString("Ecom:Product.Name") </h1> 3786 <h2>@GetString("Ecom:Product.SelectedVariantComboName")</h2> 3787 3788 @if (!hideProductNumber) 3789 { 3790 <div class="item-number dw-mod">@GetString("Ecom:Product.Number")</div> 3791 } 3792 </div> 3793 <div class="u-pull--right"> 3794 @if (!hideFavorites && Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")) && !renderVariantsAsProducts) 3795 { 3796 string favoriteId = "Favorite" + GetString("Ecom:Product.ID"); 3797 <div id="@favoriteId" class="favorites favorites--md u-pull--right js-favorite-btn dw-mod"> 3798 <div> 3799 @{ 3800 string favorite = GetBoolean("Ecom:Product.IsProductInFavoriteList") ? favoriteIcon : favoriteOutlineIcon; 3801 string AddToWishlist = "fbq('track', 'AddToWishlist', {" + 3802 "content_name: '" + GetString("Ecom:Product.Name") + "'," + 3803 "content_ids: ['" + GetString("Ecom:Product.Number") + "']," + 3804 "value: " + GetDouble("Ecom:Product.Price.Price") + "," + 3805 "currency: '" + GetString("Ecom:Product.Price.Currency.Code") + "'" + 3806 "});"; 3807 } 3808 <label for="FavoriteTrigger"><i class="@favorite fa-1_5x"></i></label> 3809 </div> 3810 <input type="checkbox" id="FavoriteTrigger" class="dropdown-trigger" /> 3811 3812 <div class="dropdown"> 3813 <div class="dropdown__content dropdown__content--show-left dropdown__content--padding u-w220px dw-mod"> 3814 <ul class="list list--clean dw-mod"> 3815 @if (GetLoop("CustomerCenter.ListTypes").Count > 0) 3816 { 3817 foreach (LoopItem listType in GetLoop("CustomerCenter.ListTypes")) 3818 { 3819 foreach (LoopItem list in listType.GetLoop("CustomerCenter.ProductLists")) 3820 { 3821 string favLinkType = list.GetString("Ecom:Product.List.IsProductInThisList") == "True" ? list.GetString("Ecom:Product.RemoveFromThisList") : list.GetString("Ecom:Product.AddToThisListAction"); 3822 string isInListIcon = list.GetString("Ecom:Product.List.IsProductInThisList") == "True" ? favoriteIcon : favoriteOutlineIcon; 3823 <li> 3824 <a href="@favLinkType" class="list__link u-no-underline dw-mod" onclick="@(list.GetString("Ecom:Product.List.IsProductInThisList") != "True" && useFacebookPixel ? AddToWishlist : "")"><i class="@isInListIcon u-margin-right--lg"></i> @list.GetValue("Ecom:CustomerCenter.List.Name")</a> 3825 </li> 3826 } 3827 } 3828 } 3829 else 3830 { 3831 string favLinkType = GetString("Ecom:Product.AddToFavorites") + "&CCListType=0&CCCreateNewList=" + Translate("My favorites"); 3832 string isInListIcon = favoriteOutlineIcon; 3833 <li> 3834 <a href="@favLinkType" class="list__link u-no-underline dw-mod" onclick="@(useFacebookPixel ? AddToWishlist : "")"><i class="@isInListIcon u-margin-right--lg"></i> @Translate("My favorites")</a> 3835 </li> 3836 } 3837 </ul> 3838 </div> 3839 <label class="dropdown-trigger-off" for="FavoriteTrigger"></label> 3840 </div> 3841 </div> 3842 } 3843 </div> 3844 </div> 3845 } 3846 3847 @helper RenderStockAndShipping() 3848 { 3849 bool hideStockState = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideStockState"); 3850 bool hideDelivery = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideShipping"); 3851 3852 if (User.IsStockInfoAllowed()) 3853 { 3854 <text>{{#if stockText}}</text> 3855 <div class="product__stock-delivery dw-mod"> 3856 @if (!hideStockState) 3857 { 3858 <span class="stock-icon {{stockState}} u-no-margin dw-mod" title="{{stockText}}"></span> 3859 <span class="u-margin-right--lg"> {{stockText}}</span> 3860 } 3861 @if (!hideDelivery) 3862 { 3863 <text>{{deliveryText}}</text> 3864 } 3865 </div> 3866 <text>{{/if}}</text> 3867 } 3868 } 3869 3870 @helper RenderShortDescription() 3871 { 3872 if (!String.IsNullOrEmpty(GetString("Ecom:Product.ShortDescription"))) 3873 { 3874 Pageview.Meta.AddTag("og:description", GetString("Ecom:Product.ShortDescription")); 3875 3876 <div class="introduction-text"> 3877 @GetString("Ecom:Product.ShortDescription") 3878 </div> 3879 } 3880 } 3881 3882 @helper RenderMainInfoVariants() 3883 { 3884 string pageId = GetGlobalValue("Global:Page.ID").ToString(); 3885 string productId = GetString("Ecom:Product.ID"); 3886 string variantSelection = !String.IsNullOrEmpty(HttpContext.Current.Request.QueryString.Get("variantId")) ? HttpContext.Current.Request.QueryString.Get("variantId").Replace(".", ",") : ""; 3887 string hideHelpText = ""; 3888 string variantsLayout = Pageview.AreaSettings.GetItem("Ecommerce").GetString("VariantsLayout") != null ? Pageview.AreaSettings.GetItem("Ecommerce").GetList("VariantsLayout").SelectedValue : "buttons"; 3889 3890 foreach (LoopItem variantgroup in GetLoop("VariantGroups")) 3891 { 3892 foreach (LoopItem variantoption in variantgroup.GetLoop("VariantAvailableOptions")) 3893 { 3894 if (variantoption.GetBoolean("Ecom:VariantOption.Selected")) 3895 { 3896 hideHelpText = "u-hidden"; 3897 } 3898 } 3899 } 3900 3901 if (GetLoop("VariantGroups").Count > 0) 3902 { 3903 var variantCombinationsObject = new List<Array>(); 3904 foreach (LoopItem variantcomb in GetLoop("VariantCombinations")) 3905 { 3906 string[] combinations = variantcomb.GetString("Ecom:VariantCombination.VariantID").Split('.'); 3907 variantCombinationsObject.Add(combinations); 3908 } 3909 3910 string combinationsJson = Newtonsoft.Json.JsonConvert.SerializeObject(variantCombinationsObject).Replace("\"", "\'"); 3911 3912 var variantGroupsObject = new List<List<String>>(); 3913 foreach (LoopItem variantGroup in GetLoop("VariantGroups")) 3914 { 3915 var variantsObject = new List<String>(); 3916 foreach (LoopItem variantOption in variantGroup.GetLoop("VariantAvailableOptions")) 3917 { 3918 variantsObject.Add(variantOption.GetString("Ecom:VariantOption.ID")); 3919 } 3920 variantGroupsObject.Add(variantsObject); 3921 } 3922 3923 string variantsJson = Newtonsoft.Json.JsonConvert.SerializeObject(variantGroupsObject).Replace("\"", "\'"); 3924 string productGroupId = HttpContext.Current.Request["GroupId"]; 3925 3926 <div> 3927 <div class="js-variants" data-total-variant-groups="@GetLoop("VariantGroups").Count" data-combinations="@combinationsJson" data-variants="@variantsJson" data-variant-selections="@variantSelection" data-selection-complete="UpdatePage" data-page-id="@pageId" data-product-id="@productId" data-group-id="@productGroupId"> 3928 @foreach (LoopItem variantGroup in GetLoop("VariantGroups")) 3929 { 3930 string groupId = variantGroup.GetString("Ecom:VariantGroup.ID"); 3931 3932 <div> 3933 <div class="product__variant-group-name u-bold dw-mod">@variantGroup.GetString("Ecom:VariantGroup.Name")</div> 3934 <div class="u-margin-top"> 3935 @if (variantsLayout == "buttons") 3936 { 3937 foreach (LoopItem variantOption in variantGroup.GetLoop("VariantAvailableOptions")) 3938 { 3939 string selected = variantOption.GetBoolean("Ecom:VariantOption.Selected") ? "checked" : ""; 3940 string color = !String.IsNullOrEmpty(variantOption.GetString("Ecom:VariantOption.Colorcode")) ? variantOption.GetString("Ecom:VariantOption.Colorcode") : null; 3941 color = color == null && !String.IsNullOrEmpty(variantOption.GetString("Ecom:VariantOption.Color")) ? variantOption.GetString("Ecom:VariantOption.Color") : color; 3942 3943 if (!String.IsNullOrEmpty(color)) 3944 { 3945 <button type="button" data-variant-id="@variantOption.GetString("Ecom:VariantOption.ID")" data-variant-group="@groupId" onclick="MatchVariants.SelectThis(event)" class="btn btn--colorbox u-margin-right @selected js-variant-option" data-check="@selected" style="background-color: @color"></button> 3946 } 3947 else 3948 { 3949 <button type="button" data-variant-id="@variantOption.GetString("Ecom:VariantOption.ID")" data-variant-group="@groupId" onclick="MatchVariants.SelectThis(event)" class="btn btn--tag @selected js-variant-option" data-check="@selected">@variantOption.GetString("Ecom:VariantOption.Name")</button> 3950 } 3951 } 3952 } 3953 else 3954 { 3955 <select id="VariantSelector_@groupId" class="u-full-width dw-mod" name="VariantSelector_@groupId" onchange="MatchVariants.SelectOnChange(event)" > 3956 <option>@Translate("Choose")</option> 3957 @foreach (LoopItem variantOption in variantGroup.GetLoop("VariantAvailableOptions")) 3958 { 3959 string check = variantOption.GetBoolean("Ecom:VariantOption.Selected") ? "checked" : ""; 3960 string selected = variantOption.GetBoolean("Ecom:VariantOption.Selected") ? "selected" : ""; 3961 string color = !String.IsNullOrEmpty(variantOption.GetString("Ecom:VariantOption.Colorcode")) ? variantOption.GetString("Ecom:VariantOption.Colorcode") : null; 3962 color = color == null && !String.IsNullOrEmpty(variantOption.GetString("Ecom:VariantOption.Color")) ? variantOption.GetString("Ecom:VariantOption.Color") : color; 3963 3964 <option class="js-variant-option @selected" id="@(groupId)_@variantOption.GetString("Ecom:VariantOption.ID")" value="@(groupId)_@variantOption.GetString("Ecom:VariantOption.ID")" data-variant-id="@variantOption.GetString("Ecom:VariantOption.ID")" data-variant-group="@groupId" @selected data-check="@check">@variantOption.GetString("Ecom:VariantOption.Name")</option> 3965 } 3966 </select> 3967 } 3968 </div> 3969 </div> 3970 } 3971 </div> 3972 <small class="js-help-text help-text @hideHelpText">@Translate("Please select variant!")</small> 3973 </div> 3974 } 3975 } 3976 3977 @helper RenderMainInfoBOM() 3978 { 3979 if (GetLoop("BOMProducts").Count > 0) 3980 { 3981 <h2 class="section-title">@Translate("Including products")</h2> 3982 foreach (LoopItem BOMProductItem in GetLoop("BOMProducts")) 3983 { 3984 string link = "/" + BOMProductItem.GetString("Ecom:Product.LinkGroup.Clean") + (!String.IsNullOrEmpty(BOMProductItem.GetString("Ecom:Product.VariantID")) ? "&VariantID=" + BOMProductItem.GetString("Ecom:Product.VariantID") : ""); 3985 <div class="grid__col--border grid"> 3986 <div class="grid__cell grid__cell--align-middle-left"> 3987 <a href="@link" class="u-pull--left u-margin-right"> 3988 <img class="b-lazy" src="/Files/Images/placeholder.gif" data-src="/Admin/Public/GetImage.ashx?width=50&image=@GetProductImage(BOMProductItem)&Compression=99" alt="@BOMProductItem.GetString("Ecom:Product.Name")" /> 3989 </a> 3990 <a href="@link">@BOMProductItem.GetString("Ecom:Product.Name")</a> 3991 </div> 3992 </div> 3993 } 3994 } 3995 } 3996 3997 @helper RenderMainInfoBuy() 3998 { 3999 string pageId = GetGlobalValue("Global:Page.ID").ToString(); 4000 string variantId = HttpContext.Current.Request.QueryString.Get("variantId"); 4001 string productId = GetString("Ecom:Product.ID"); 4002 string feedId = pageId + "&ProductID=" + productId + "&VariantID=" + variantId + "&Feed=True&redirect=false"; 4003 string updateJsonFeed = "Feed=true&redirect=false"; 4004 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 4005 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 4006 4007 <div class="product__price-actions js-handlebars-root dw-mod" id="PriceAndActions" 4008 data-template="PricesAndActionsTemplate" 4009 data-json-feed="/Default.aspx?ID=@feedId@liveProductInfoParameter" 4010 data-preloader="minimal" 4011 data-update-json-feed="@updateJsonFeed"></div> 4012 <input type="hidden" value="@GetString("Ecom:Product.VariantID.Extented")" name="Variant" id="Variant_@GetString("Ecom:Product.ID")" /> 4013 @RenderMainInfoBuyScripts() 4014 } 4015 4016 @helper RenderPriceInfo() 4017 { 4018 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 4019 bool showPrice = !Pageview.AreaSettings.GetItem("ProductList").GetBoolean("HidePrice"); 4020 bool showCartButton = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideAddToCartButton"); 4021 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductList").GetBoolean("ShowBothPricesWithWithoutVAT"); 4022 bool isPricesWithVATEnabled = Converter.ToBoolean(Pageview.Area.EcomPricesWithVat); 4023 4024 if (showPrice && Dynamicweb.Rapido.Services.User.IsPricesAllowed()) 4025 { 4026 if (pointShopOnly) 4027 { 4028 <text> 4029 {{#if havePointPrice}} 4030 <div class="price price--product-page dw-mod">{{points}} @Translate("points")</div> 4031 @if (showCartButton) 4032 { 4033 <text> 4034 {{#unless canBePurchasedWithPoints}} 4035 <small class="help-text u-no-margin">@Translate("Not enough points to buy this")</small> 4036 {{/unless}} 4037 </text> 4038 } 4039 {{else}} 4040 @Translate("Not available") 4041 {{/if}} 4042 </text> 4043 4044 } 4045 else 4046 { 4047 <div class="price price--product-page dw-mod">{{price}}</div> 4048 <div class="before-price {{onSale}} dw-mod">{{discount}}</div> 4049 if (showVATPrice) 4050 { 4051 <div class="vat-price vat-price--product-page u-margin-top dw-mod"> 4052 @if (isPricesWithVATEnabled) 4053 { 4054 <span>@Translate("excl. VAT")</span><span> ({{priceWithoutVAT}})</span> 4055 } 4056 else 4057 { 4058 <span>@Translate("incl. VAT")</span><span> ({{priceWithVAT}})</span> 4059 } 4060 </div> 4061 } 4062 <text> 4063 {{#if priceRRP}} 4064 <div><small>@Translate("RRP") {{priceRRP}}</small></div> 4065 {{/if}} 4066 </text> 4067 } 4068 } 4069 } 4070 4071 @helper RenderMainInfoBuyScripts() 4072 { 4073 bool showPrice = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HidePrice"); 4074 bool showCartButton = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideAddToCartButton"); 4075 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 4076 string variantId = HttpContext.Current.Request.QueryString.Get("variantId") ?? ""; 4077 string feedId = GetGlobalValue("Global:Page.ID").ToString() + "&ProductID=" + GetString("Ecom:Product.ID") + "&VariantID=" + variantId + "&Feed=True&redirect=false"; 4078 string cartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 4079 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("ShowBothPricesWithWithoutVAT"); 4080 bool isPricesWithVATEnabled = Converter.ToBoolean(Pageview.Area.EcomPricesWithVat); 4081 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 4082 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 4083 4084 var customerId = Dynamicweb.Security.UserManagement.User.GetCurrentExtranetUserId(); 4085 var shopId = Pageview.Area.EcomShopId; 4086 var orderType = Dynamicweb.Ecommerce.Orders.OrderType.Order; 4087 var cartsList = (List<Dynamicweb.Ecommerce.Orders.Order>)Dynamicweb.Ecommerce.Services.Orders.GetCustomerOrdersByType(customerId, shopId, orderType, 0, false, "", DateTime.MinValue, false, true); 4088 bool hidePrice = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HidePrice"); 4089 4090 @* Handlebars templates *@ 4091 <script id="PricesAndActionsTemplate" type="text/x-template"> 4092 {{#.}} 4093 @if (Dynamicweb.Rapido.Services.User.IsPricesAllowed() && !hidePrice) 4094 { 4095 <text> 4096 {{#unless hidePriceDisallowOrdering}} 4097 <div class="product__price-wrap dw-mod"> 4098 @RenderPriceInfo() 4099 </div> 4100 {{/unless}} 4101 </text> 4102 } 4103 4104 @if (showCartButton && Dynamicweb.Rapido.Services.User.IsBuyingAllowed() && !GetBoolean("Ecom:Product:Field.DisallowOrdering")) 4105 { 4106 var addToCartBtn = new AddToCart 4107 { 4108 WrapperCssClass = "product__price-actions-flex-wrap buttons-collection--right dw-mod", 4109 AddButton = new AddToCartButton 4110 { 4111 ProductId = "{{productId}}", 4112 VariantId = "{{variantid}}", 4113 UnitId = "{{unitId}}", 4114 ProductInfo = "{{productInfo}}", 4115 BuyForPoints = pointShopOnly, 4116 OnClick = "{{facebookPixelAction}}", 4117 ExtraAttributes = new Dictionary<string, string> 4118 { 4119 { "{{disabledBuyButton}}", "" }, 4120 { "{{outOfStock}}", "" } 4121 }, 4122 CssClass = "product__price-buy-button" 4123 }, 4124 UnitSelector = new UnitSelector 4125 { 4126 OptionsContent = "{{#unitOptions}}{{>UnitOption}}{{/unitOptions}}", 4127 Id = "UnitOptions_{{id}}", 4128 SelectedOption = "{{unitName}}", 4129 CssClass = "{{#if hasOnlyOneUnit}}unit-selector--readonly{{/if}} {{hasUnits}}" 4130 } 4131 }; 4132 4133 if (!pointShopOnly) 4134 { 4135 addToCartBtn.QuantitySelector = new QuantitySelector 4136 { 4137 Id = "Quantity_{{id}}", 4138 ExtraAttributes = new Dictionary<string, string> 4139 { 4140 { "{{outOfStock}}", "" } 4141 } 4142 }; 4143 } 4144 4145 <div class="product__price-actions-wrap dw-mod"> 4146 @Render(addToCartBtn) 4147 4148 @if (Dynamicweb.Core.Converter.ToBoolean(GetGlobalValue("Global:Extranet.UserName")) && User.IsBuyingAllowed() && cartsList.Count > 0 && GetPageIdByNavigationTag("OrderDraft") != 0) { 4149 var addToDraftCart = new Button 4150 { 4151 Id = "AddToDraftCart", 4152 Title = Translate("Add to draft"), 4153 ButtonLayout = ButtonLayout.Secondary, 4154 OnClick = "document.getElementById('OrderDraftSelectModalTrigger').checked = true", 4155 CssClass = "u-w220px u-margin-top" 4156 }; 4157 4158 @Render(addToDraftCart) 4159 } 4160 4161 @if (Pageview.User != null && !pointShopOnly && Dynamicweb.Security.Licensing.LicenseManager.LicenseHasFeature("LoyaltyPoints")) 4162 { 4163 <text> 4164 {{#if canBePurchasedWithPoints}} 4165 <form method="post" role="form" class="u-no-margin u-margin-top"> 4166 <input type="hidden" name="ProductID" value="{{id}}" /> 4167 <button type="submit" class="btn btn--loyalty-points product__price-points-buy-button u-no-margin dw-mod pull-right u-no-margin js-cart-btn {{disabledBuyButton}}" name="CartCmd" value="addWithPoints">@Translate("Buy for") {{points}} @Translate("points")</button> 4168 </form> 4169 {{/if}} 4170 </text> 4171 } 4172 </div> 4173 } 4174 else 4175 { 4176 <button type="button" id="CartButton_{{id}}" class="u-hidden"></button> 4177 } 4178 {{#unless hideStockDisallowOrdering}} 4179 @RenderStockAndShipping() 4180 {{/unless}} 4181 {{/.}} 4182 </script> 4183 4184 <script id="UnitOption" type="text/x-template"> 4185 <div class="dropdown__item dw-mod" onclick="HandlebarsBolt.UpdateContent('PriceAndActions', '{{link}}&feed=true&UnitID={{value}}@liveProductInfoParameter')">{{name}}</div> 4186 </script> 4187 4188 <script> 4189 document.addEventListener("DOMContentLoaded", function () { 4190 if (document.getElementById("PriceAndActions")) { 4191 document.getElementById("PriceAndActions").addEventListener("contentLoaded", function (event) { 4192 if (document.querySelector(".js-variants") != null) { 4193 MatchVariants.Update(document.querySelector(".js-variants"), "DoNothing"); 4194 } 4195 }); 4196 } 4197 }); 4198 </script> 4199 } 4200 4201 @helper RenderOrderDraftSelectModalContent() { 4202 var customerId = Dynamicweb.Security.UserManagement.User.GetCurrentExtranetUserId(); 4203 var shopId = Pageview.Area.EcomShopId; 4204 var orderType = Dynamicweb.Ecommerce.Orders.OrderType.Order; 4205 var cartsList = (List<Dynamicweb.Ecommerce.Orders.Order>)Dynamicweb.Ecommerce.Services.Orders.GetCustomerOrdersByType(customerId, shopId, orderType, 0, false, "", DateTime.MinValue, false, true); 4206 4207 SelectField cartSelector = new SelectField 4208 { 4209 Id = "CartSelector", 4210 Label = Translate("I want to add this product to") 4211 }; 4212 4213 foreach (Dynamicweb.Ecommerce.Orders.Order cart in cartsList) { 4214 string name = !string.IsNullOrEmpty(cart.DisplayName) ? cart.DisplayName : cart.Id; 4215 cartSelector.Options.Add(new SelectFieldOption { Label = name, Value = cart.Id }); 4216 } 4217 4218 @Render(cartSelector) 4219 } 4220 4221 @helper RenderOrderDraftScripts() { 4222 string productId = GetString("Ecom:Product.ID"); 4223 string variantId = !string.IsNullOrEmpty(GetString("Ecom:Product.VariantID")) ? GetString("Ecom:Product.VariantID") : GetString("Ecom:Product.VariantID.Extented"); 4224 string unitId = GetString("Ecom:Product.DefaultUnitID"); 4225 var cartCmdUrl = "/Default.aspx?ID=" + Pageview.Page.ID; 4226 int orderDraftPageId = GetPageIdByNavigationTag("DraftDetails"); 4227 int orderDraftParagraphId = Dynamicweb.Content.Services.Paragraphs.GetParagraphsByPageId(orderDraftPageId).ToList().First().ID; 4228 4229 foreach (LoopItem unitOption in GetLoop("Units")) 4230 { 4231 if (unitOption.GetString("Ecom:VariantOption.Selected") == "SELECTED") 4232 { 4233 unitId = unitOption.GetString("Ecom:VariantOption.ID"); 4234 } 4235 } 4236 4237 <script> 4238 function addToSelectedCart() { 4239 var requestUrl = "@cartCmdUrl" + "&cartcmd=Add&Quantity=1" + "&CartId=" + document.getElementById("CartSelector").value + "&ProductId=@productId" + "&VariantId=@variantId" + "&UnitId=@unitId"; 4240 4241 console.log(requestUrl) 4242 4243 document.getElementById('OrderDraftSelectModalTrigger').checked = false; 4244 4245 var overlayElement = document.createElement('div'); 4246 overlayElement.className = "preloader-overlay"; 4247 overlayElement.setAttribute('id', "CartOverlay"); 4248 var overlayElementIcon = document.createElement('div'); 4249 overlayElementIcon.className = "preloader-overlay__icon dw-mod"; 4250 overlayElementIcon.style.top = window.pageYOffset + "px"; 4251 overlayElement.appendChild(overlayElementIcon); 4252 document.getElementById('content').parentNode.insertBefore(overlayElement, document.getElementById('content')); 4253 4254 Request.Fetch().get( 4255 requestUrl, 4256 function () { 4257 var overlayNode = document.getElementById('CartOverlay'); 4258 overlayNode.parentNode.removeChild(overlayNode); 4259 document.getElementById('OrderDraftNotificationModalTrigger').checked = true; 4260 }, 4261 null, 4262 false 4263 ); 4264 } 4265 4266 function goToSelectedCart() { 4267 window.location = "/Default.aspx?ID=" + "@orderDraftPageId" + "&CartID=" + document.getElementById('CartSelector').value + "&CartCmd=setcart" + "&redirect=false"; 4268 } 4269 </script> 4270 } 4271 4272 @helper RenderGoogleTagManagerScripts() { 4273 bool useGoogleTagManager = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("Settings").GetString("GoogleTagManagerID")); 4274 4275 if (useGoogleTagManager) 4276 { 4277 var groupObject = Dynamicweb.Ecommerce.Services.ProductGroups.GetGroup(GetString("Ecom:Product.PrimaryOrFirstGroupID")); 4278 4279 <script> 4280 // Measure a view of product details. This example assumes the detail view occurs on pageload, 4281 // and also tracks a standard pageview of the details page. 4282 dataLayer.push({ 4283 'event': 'productDetails', 4284 "ecommerce": { 4285 "detail": { 4286 "currencyCode": "@GetString("Ecom:Product.Price.Currency.Code")", 4287 "actionField": {}, // 'detail' actions have an optional list property. 4288 "products": [{ 4289 "name": "@GetString("Ecom:Product.Name")", // Name or ID is required. 4290 "id": "@GetString("Ecom:Product.ID")", 4291 "price": "@(GetDouble("Ecom:Product.Discount.Price.Price") != GetDouble("Ecom:Product.Price.Price") ? GetDouble("Ecom:Product.Discount.Price.Price") : GetDouble("Ecom:Product.Price.Price"))", 4292 "brand": "@GetString("Ecom:Product:Field.brand.Value")", 4293 "category": "@(groupObject != null ? groupObject.Name : "")", 4294 "variant": "@(!string.IsNullOrEmpty(GetString("Ecom:Product.VariantID")) ? GetString("Ecom:Product.VariantID") : GetString("Ecom:Product.VariantID.Extented"))" 4295 }] 4296 } 4297 } 4298 }); 4299 </script> 4300 } 4301 } 4302 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 4303 @using Dynamicweb.Core 4304 @using System 4305 @using System.Web 4306 @using System.Collections.Generic 4307 @using Dynamicweb.Rapido.Blocks 4308 @using Dynamicweb.Rapido.Blocks.Components.General 4309 4310 @functions { 4311 BlocksPage productAssetsPage = BlocksPage.GetBlockPage("Product"); 4312 } 4313 4314 @{ 4315 string productAssetsLayout = !String.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductPage").GetString("ProductAssetsLayout")) ? Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductAssetsLayout").SelectedValue : "Section"; 4316 productAssetsLayout = productAssetsLayout == "Ribbon" ? "Section" : productAssetsLayout; 4317 4318 if (productAssetsLayout != "hide") 4319 { 4320 Block productAssetsBlock = new Block() 4321 { 4322 Name = productAssetsLayout != "MainInformation" ? Translate("Product assets") : "", 4323 Id = "ProductAssets", 4324 SortId = 10, 4325 Template = RenderProductAssets(productAssetsLayout, downloadDocuments), @*downloadDocuments variable, declared in Product.cshtml and defined in Fields.cshtml*@ 4326 Design = new Design 4327 { 4328 Size = "12", 4329 RenderType = RenderType.Column, 4330 HidePadding = true 4331 } 4332 }; 4333 productAssetsPage.Add(productAssetsLayout, productAssetsBlock); 4334 } 4335 } 4336 4337 @helper RenderProductAssets(string layout, List<LoopItem> documents) 4338 { 4339 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductAssetsLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 4340 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductAssetsLayout").SelectedValue == "Ribbon" ? "u-padding--lg" : ""; 4341 string exportPageId = GetPageIdByNavigationTag("ProductExportFeed").ToString(); 4342 4343 //images 4344 4345 HashSet<string> images = new HashSet<string>(); 4346 4347 images.Add(GetProductImage()); 4348 4349 foreach (LoopItem alternativeImage in GetLoop("Ecom:Product.AlternativeImages")) 4350 { 4351 string alt_image = alternativeImage.GetString("Ecom:Product.AlternativeImages.Image"); 4352 4353 if (!string.IsNullOrEmpty(alt_image)) 4354 { 4355 images.Add(alt_image); 4356 } 4357 } 4358 4359 foreach (LoopItem detail in GetLoop("Details")) 4360 { 4361 string detail_image = detail.GetString("Ecom:Product:Detail.Image.Clean"); 4362 4363 if (!string.IsNullOrEmpty(detail_image)) 4364 { 4365 images.Add(detail_image); 4366 } 4367 } 4368 4369 <div class="product__section @ribbonClasses dw-mod"> 4370 <div class="product__description center-container @ribbonSubClasses dw-mod"> 4371 @if (layout == "Section") 4372 { 4373 @Render(new Heading { Title = Translate("Product assets"), Level = 2 }) 4374 } 4375 4376 <form action="/Default.aspx?ID=@exportPageId&ProductID=@System.Web.HttpContext.Current.Request.QueryString.Get("ProductID")&VariantID=@System.Web.HttpContext.Current.Request.QueryString.Get("VariantID")" method="post" class="u-flex grid--direction-column u-no-margin"> 4377 <div class="grid"> 4378 @if (images.Count > 0) 4379 { 4380 <div class="grid__col-md-4 js-checkboxes-list"> 4381 @Render(new CheckboxField { Id = "allImages", OnChange = "selectAll(this)", Label = Translate("Images") + "(" + images.Count + ")" }) 4382 4383 <ul class="panel-list"> 4384 @foreach (string image in images) 4385 { 4386 @RenderProductPanelListItem(image) 4387 } 4388 </ul> 4389 </div> 4390 } 4391 4392 @if (documents.Count > 0) 4393 { 4394 <div class="grid__col-md-4 js-checkboxes-list"> 4395 @Render(new CheckboxField { Id = "allDocuments", OnChange = "selectAll(this)", Label = Translate("Documents") + "(" + documents.Count + ")" }) 4396 4397 <ul class="panel-list"> 4398 @foreach (LoopItem document in documents) 4399 { 4400 string fieldValue; 4401 if (!string.IsNullOrEmpty(document.GetString("Document.FullPath"))) 4402 { 4403 fieldValue = document.GetString("Product.CustomField.Value.Clean"); 4404 @RenderDocument(fieldValue) 4405 } 4406 if (document.GetString("Ecom:Product.CategoryField.TypeID") == "9") 4407 { 4408 fieldValue = document.GetString("Ecom:Product.CategoryField.Value"); 4409 @RenderDocument(fieldValue) 4410 } 4411 if (!string.IsNullOrEmpty(document.GetString("Ecom:Product:Detail.Image.Clean"))) 4412 { 4413 fieldValue = document.GetString("Ecom:Product:Detail.Image.Clean"); 4414 @RenderDocument(fieldValue) 4415 } 4416 } 4417 </ul> 4418 </div> 4419 } 4420 <div class="grid__col-md-4"> 4421 @Render(new HiddenField { Id = "ID", Name = "ID", Value = "532" }) 4422 @Render(new HiddenField { Id = "download", Name = "download", Value = "true" }) 4423 @Render(new HiddenField { Id = "siteUrl", Name = "siteUrl", Value = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host")) }) 4424 4425 <div class="u-bold u-margin-bottom">@Translate("Export")</div> 4426 4427 @{ 4428 SelectField languageSelect = new SelectField 4429 { 4430 Id = "exportLanguage", 4431 Label = Translate("Language"), 4432 Name = "RequestLanguageId", 4433 CssClass = "u-full-width" 4434 }; 4435 foreach (var lang in Dynamicweb.Content.Services.Languages.GetLanguages().OrderBy(l => l.Name)) 4436 { 4437 var selected = lang.IsDefault ? true : false; 4438 languageSelect.Options.Add(new SelectFieldOption { Label = lang.Name, Value = lang.LanguageId, Checked = selected }); 4439 } 4440 @Render(languageSelect) 4441 4442 SelectField purposeSelect = new SelectField 4443 { 4444 Id = "purpose", 4445 Label = Translate("Image purpose"), 4446 Name = "purpose", 4447 CssClass = "u-full-width" 4448 }; 4449 purposeSelect.Options.Add(new SelectFieldOption { Label = Translate("Office"), Value = "Office" }); 4450 purposeSelect.Options.Add(new SelectFieldOption { Label = Translate("Original"), Value = "Original" }); 4451 purposeSelect.Options.Add(new SelectFieldOption { Label = Translate("Print"), Value = "Print" }); 4452 purposeSelect.Options.Add(new SelectFieldOption { Label = Translate("Web"), Value = "Web" }); 4453 @Render(purposeSelect) 4454 4455 SelectField formatSelect = new SelectField 4456 { 4457 Id = "exportFormat", 4458 Label = Translate("Export format"), 4459 Name = "format", 4460 CssClass = "u-full-width" 4461 }; 4462 formatSelect.Options.Add(new SelectFieldOption { Label = Translate("Csv"), Value = "csv" }); 4463 formatSelect.Options.Add(new SelectFieldOption { Label = Translate("Json"), Value = "json" }); 4464 formatSelect.Options.Add(new SelectFieldOption { Label = Translate("Xml"), Value = "xml" }); 4465 @Render(formatSelect) 4466 } 4467 4468 @Render(new Button { ButtonType = ButtonType.Submit, ButtonLayout = ButtonLayout.Primary, CssClass = "btn--full u-no-margin", Title = Translate("Download") }) 4469 </div> 4470 </div> 4471 </form> 4472 </div> 4473 </div> 4474 <script> 4475 function selectAll(checkbox) { 4476 checkbox.closest(".js-checkboxes-list").querySelectorAll(".js-checkbox").forEach(function (input) { 4477 input.checked = checkbox.checked; 4478 }); 4479 } 4480 </script> 4481 } 4482 4483 @helper RenderProductPanelListItem(string imageName) 4484 { 4485 <li class="panel-list__item"> 4486 <div class="panel-list__item-check"> 4487 <input id="Image_@imageName" name="Image_@imageName" type="checkbox" class="form__control u-no-margin dw-mod js-checkbox" /> 4488 <label for="Image_@imageName"></label> 4489 </div> 4490 <div class="panel-list__item-image"> 4491 <label for="Image_@imageName" class="u-no-margin"> 4492 @Render(new Image { Path = imageName, Title = Path.GetFileName(imageName), ImageDefault = new ImageSettings { Width = 55, Height = 55, Crop = 5, FillCanvas = true } }) 4493 </label> 4494 </div> 4495 <div class="panel-list__item-name"> 4496 <label for="Image_@imageName" class="u-truncate-text u-w170px" title="@Path.GetFileName(imageName)"> 4497 @Path.GetFileName(imageName) 4498 </label> 4499 </div> 4500 </li> 4501 } 4502 4503 @helper RenderDocument(string fieldValue) 4504 { 4505 <li class="panel-list__item"> 4506 <div class="panel-list__item-check"> 4507 <input id="Document_@fieldValue" name="Document_@fieldValue" type="checkbox" class="form__control u-no-margin js-checkbox dw-mod"> 4508 <label for="Document_@fieldValue"></label> 4509 </div> 4510 <div class="panel-list__item-name"> 4511 <label for="Document_@fieldValue" class="u-truncate-text u-no-margin u-max-w220px" title="@Path.GetFileName(fieldValue)"> 4512 @Path.GetFileName(fieldValue) 4513 </label> 4514 </div> 4515 </li> 4516 } 4517 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 4518 @using Dynamicweb.Core 4519 @using System 4520 @using System.Web 4521 @using System.Collections.Generic 4522 @using Dynamicweb.Rapido.Blocks 4523 @using Dynamicweb.Rapido.Blocks.Components.General 4524 4525 @functions { 4526 BlocksPage productGeneratePDFPage = BlocksPage.GetBlockPage("Product"); 4527 } 4528 4529 @{ 4530 string generatePDFLayout = !String.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductPage").GetString("GeneratePDFLayout")) ? Pageview.AreaSettings.GetItem("ProductPage").GetList("GeneratePDFLayout").SelectedValue : "Section"; 4531 generatePDFLayout = generatePDFLayout == "Ribbon" ? "Section" : generatePDFLayout; 4532 4533 if (GetPageIdByNavigationTag("ProductPagePDFTemplates") > 0 && generatePDFLayout != "hide") 4534 { 4535 Block generatePDFBlock = new Block() 4536 { 4537 Name = generatePDFLayout != "MainInformation" ? Translate("Generate PDF") : "", 4538 Id = "GeneratePDF", 4539 SortId = 10, 4540 Template = RenderGeneratePDF(generatePDFLayout), 4541 Design = new Design 4542 { 4543 Size = "12", 4544 RenderType = RenderType.Column, 4545 HidePadding = true 4546 } 4547 }; 4548 4549 productGeneratePDFPage.Add(generatePDFLayout, generatePDFBlock); 4550 } 4551 } 4552 4553 @helper RenderGeneratePDF(string layout) 4554 { 4555 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("GeneratePDFLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 4556 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 4557 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("GeneratePDFLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 4558 string exportPageId = GetPageIdByNavigationTag("ProductExportFeed").ToString(); 4559 int pdfFolderId = GetPageIdByNavigationTag("ProductPagePDFTemplates"); 4560 4561 Form form = new Form { Action = "/Default.aspx?MainProductID=" + System.Web.HttpContext.Current.Request.QueryString.Get("ProductID") + "&VariantID=" + System.Web.HttpContext.Current.Request.QueryString.Get("VariantID") + "&Pdf=true", Method = FormMethod.Post, CssClass = "u-no-margin" }; 4562 form.Add(new HiddenField { Name = "siteUrl", Value = string.Format("{0}://{1}", GetGlobalValue("Global:Request.Scheme"), GetGlobalValue("Global:Request.Host")) }); 4563 4564 //Select languages 4565 SelectField languagesList = new SelectField 4566 { 4567 Id = "RequestLanguageID", 4568 Name = "RequestLanguageID", 4569 Label = Translate("Language"), 4570 CssClass = "u-full-width" 4571 }; 4572 4573 foreach (var lang in Dynamicweb.Content.Services.Languages.GetLanguages().OrderBy(l => l.Name)) 4574 { 4575 languagesList.Options.Add(new SelectFieldOption 4576 { 4577 Label = lang.Name, 4578 Value = lang.LanguageId, 4579 Checked = lang.IsDefault ? true : false 4580 }); 4581 } 4582 form.Add(languagesList); 4583 4584 //Select pages 4585 SelectField pagesList = new SelectField 4586 { 4587 Id = "PDFTemplate", 4588 Name = "ID", 4589 Label = Translate("Generate PDF"), 4590 CssClass = "u-full-width" 4591 }; 4592 4593 foreach (Dynamicweb.Content.Page page in ServiceLocator.Current.GetPageService().GetPagesByParentID(pdfFolderId)) 4594 { 4595 pagesList.Options.Add(new SelectFieldOption 4596 { 4597 Label = page.MenuText, 4598 Value = Converter.ToString(page.ID) 4599 }); 4600 } 4601 form.Add(pagesList); 4602 4603 form.Add(new Button { ButtonType = ButtonType.Submit, Title = Translate("Generate PDF"), CssClass = "btn--full u-no-margin" }); 4604 4605 <div class="product__section @ribbonClasses grid dw-mod"> 4606 <div class="dw-mod grid__col-md-4 @ribbonSubClasses"> 4607 @if (layout == "Section") 4608 { 4609 @Render(new Heading { Title = Translate("Generate PDF"), Level = 2 }) 4610 } 4611 @Render(form) 4612 </div> 4613 </div> 4614 } 4615 4616 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 4617 @using Dynamicweb.Core 4618 @using System 4619 @using System.Web 4620 @using System.Collections.Generic 4621 @using Dynamicweb.Rapido.Blocks 4622 @using Dynamicweb.Rapido.Blocks.Components.General 4623 4624 @functions { 4625 BlocksPage productDescriptionPage = BlocksPage.GetBlockPage("Product"); 4626 } 4627 4628 @{ 4629 string fullDesctiptionLayout = !String.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductPage").GetString("FullDescriptionLayout")) ? Pageview.AreaSettings.GetItem("ProductPage").GetList("FullDescriptionLayout").SelectedValue : "Section"; 4630 fullDesctiptionLayout = fullDesctiptionLayout == "Ribbon" ? "Section" : fullDesctiptionLayout; 4631 4632 if (!string.IsNullOrEmpty(GetString("Ecom:Product.LongDescription")) && fullDesctiptionLayout != "hide") 4633 { 4634 Block detailsDescription = new Block() 4635 { 4636 Name = fullDesctiptionLayout != "MainInformation" ? Translate("Description") : "", 4637 Id = "FullDescription", 4638 SortId = 30, 4639 Template = RenderProductDescription(fullDesctiptionLayout), 4640 Design = new Design 4641 { 4642 Size = "12", 4643 RenderType = RenderType.Column, 4644 HidePadding = true 4645 } 4646 }; 4647 productDescriptionPage.Add(fullDesctiptionLayout, detailsDescription); 4648 } 4649 } 4650 4651 @helper RenderProductDescription(string layout) 4652 { 4653 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("FullDescriptionLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 4654 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 4655 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("FullDescriptionLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 4656 4657 <div class="product__section @ribbonClasses dw-mod"> 4658 <div class="product__description center-container @ribbonSubClasses dw-mod"> 4659 @if (layout == "Section") { 4660 @Render(new Heading { Title = Translate("Description"), Level = 2 }) 4661 } 4662 @Render(new Text { Content = GetString("Ecom:Product.LongDescription") }) 4663 </div> 4664 </div> 4665 } 4666 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 4667 @using Dynamicweb.Core 4668 @using System 4669 @using System.Web 4670 @using System.Globalization; 4671 @using System.Collections.Generic 4672 @using Dynamicweb.Rapido.Blocks 4673 4674 @functions { 4675 BlocksPage productFieldsPage = BlocksPage.GetBlockPage("Product"); 4676 4677 static string ConvertBytes(long bytes) 4678 { 4679 double size = bytes / 1024; //KB 4680 if (size > 1024) 4681 { 4682 size = (bytes / 1024f) / 1024f; //MB 4683 return string.Format("{0:n1} MB", size); 4684 } 4685 else 4686 { 4687 return string.Format("{0:n0} KB", size); 4688 } 4689 } 4690 4691 static bool isImage(string path) 4692 { 4693 return new List<string> { ".jpg", ".jpeg", ".gif", ".png", ".svg" }.Contains(Path.GetExtension(path).ToLower()); 4694 } 4695 4696 string getIconForFile(string fileName) 4697 { 4698 string ext = Path.GetExtension(fileName); 4699 string icon = ""; 4700 switch (ext.ToLower()) 4701 { 4702 case ".xls": 4703 case ".xlsx": 4704 icon = "fa-file-excel"; 4705 break; 4706 case ".ppt": 4707 case ".pptx": 4708 icon = "fa-file-powerpoint"; 4709 break; 4710 case ".doc": 4711 case ".docx": 4712 icon = "fa-file-word"; 4713 break; 4714 case ".jpg": 4715 case ".jpeg": 4716 case ".png": 4717 case ".gif": 4718 case ".pdf": 4719 return "<img class='product__document-img' alt='" + fileName + "' src='/Admin/Public/GetImage.ashx?crop=5&height=70&width=120&Compression=75&DoNotUpscale=true&image=" + fileName + "' />"; 4720 default: 4721 icon = "fa-file"; 4722 break; 4723 } 4724 return "<i class='product__document-icon far " + icon + "'></i> "; 4725 } 4726 } 4727 4728 @*downloadDocuments variable, declared in Product.cshtml - this variable also will be used in ProductAssets.cshtml*@ 4729 4730 4731 4732 @{ 4733 var selectedDownloadCategories = Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadAssets").SelectedValues; 4734 var downloadsFromAssets = GetLoop("ImageCategories").Where(x => selectedDownloadCategories.Contains(x.GetString("Category.Id"))); 4735 4736 if (string.IsNullOrEmpty(selectedDownloadCategories.ToString())) { 4737 foreach (LoopItem customField in GetLoop("CustomFieldValues")) 4738 { 4739 if (!string.IsNullOrEmpty(customField.GetString("Product.CustomField.Name")) && !string.IsNullOrEmpty(customField.GetString("Product.CustomField.Value.Clean")) && customField.GetString("Product.CustomField.Name") != "Custom sticker" && customField.GetString("Product.CustomField.Name") != "RRP") 4740 { 4741 if (!string.IsNullOrEmpty(customField.GetString("Document.FullPath"))) 4742 { 4743 downloadDocuments.Add(customField); 4744 } 4745 } 4746 } 4747 4748 foreach (LoopItem customField in GetLoop("ProductCategories")) 4749 { 4750 foreach (LoopItem field in customField.GetLoop("ProductCategoryFields")) 4751 { 4752 if (!string.IsNullOrEmpty(field.GetString("Ecom:Product.CategoryField.Label")) && !string.IsNullOrEmpty(field.GetString("Ecom:Product.CategoryField.Value"))) 4753 { 4754 if (field.GetString("Ecom:Product.CategoryField.TypeID") == "9") 4755 { 4756 downloadDocuments.Add(field); 4757 } 4758 } 4759 } 4760 } 4761 } else { 4762 foreach (LoopItem category in downloadsFromAssets) { 4763 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 4764 downloadDocuments.Add(asset); 4765 } 4766 } 4767 } 4768 4769 bool collectAllDownloads = Pageview.AreaSettings.GetItem("ProductPage").GetString("CollectAllDownloads") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("CollectAllDownloads") : true; 4770 string detailFieldsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("DetailFieldsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DetailFieldsLayout").SelectedValue : "Section"; 4771 detailFieldsLayout = detailFieldsLayout == "Ribbon" || string.IsNullOrEmpty(detailFieldsLayout) ? "Section" : detailFieldsLayout; 4772 string categoryFieldsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("CategoryFieldsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("CategoryFieldsLayout").SelectedValue : "Section"; 4773 categoryFieldsLayout = categoryFieldsLayout == "Ribbon" || string.IsNullOrEmpty(categoryFieldsLayout) ? "Section" : categoryFieldsLayout; 4774 string displayGroupsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("DisplayGroupsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DisplayGroupsLayout").SelectedValue : "Section"; 4775 displayGroupsLayout = displayGroupsLayout == "Ribbon" || string.IsNullOrEmpty(displayGroupsLayout) ? "Section" : displayGroupsLayout; 4776 string downloadsFieldsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadsLayout").SelectedValue : "Section"; 4777 downloadsFieldsLayout = downloadsFieldsLayout == "Ribbon" || string.IsNullOrEmpty(downloadsFieldsLayout) ? "Section" : downloadsFieldsLayout; 4778 4779 string detailFieldsView = Pageview.AreaSettings.GetItem("ProductPage").GetList("DetailFieldsView") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DetailFieldsView").SelectedValue : "grid"; 4780 string categoryFieldsView = Pageview.AreaSettings.GetItem("ProductPage").GetList("CategoryFieldsView") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("CategoryFieldsView").SelectedValue : "grid"; 4781 string downloadsFieldsView = Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadsFieldsView") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("DownloadsFieldsView").SelectedValue : "grid"; 4782 4783 if (GetLoop("CustomFieldValues").Count > 0 && detailFieldsLayout != "hide") 4784 { 4785 if (string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductPage").GetString("ProductDetailFields"))) { 4786 Block detailsCustom = new Block() 4787 { 4788 Name = detailFieldsLayout != "MainInformation" ? Translate("Details") : "", 4789 Id = "CustomFields", 4790 SortId = 30, 4791 Design = new Design 4792 { 4793 Size = "12", 4794 RenderType = RenderType.Column, 4795 HidePadding = true 4796 } 4797 }; 4798 4799 detailsCustom.Template = RenderProductSection(detailFieldsLayout, detailFieldsView, Translate("Information"), RenderCustomFields(GetLoop("CustomFieldValues"), detailFieldsView)); 4800 productFieldsPage.Add(detailFieldsLayout, detailsCustom); 4801 } else { 4802 var detailFieldsDisplayGroups = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductDetailFields").SelectedValues; 4803 var displayGroups = GetLoop("FieldDisplayGroups").Where(x => detailFieldsDisplayGroups.Contains(x.GetString("Ecom:FieldDisplayGroup.ID"))); 4804 4805 foreach (var group in displayGroups) { 4806 Block detailsCustom = new Block() 4807 { 4808 Name = detailFieldsLayout != "MainInformation" ? group.GetString("Ecom:FieldDisplayGroup.Name") : "", 4809 Id = "DetailFields_" + group.GetString("Ecom:FieldDisplayGroup.ID"), 4810 SortId = 30, 4811 Design = new Design 4812 { 4813 Size = "12", 4814 RenderType = RenderType.Column, 4815 HidePadding = true 4816 } 4817 }; 4818 4819 detailsCustom.Template = RenderProductSection(detailFieldsLayout, detailFieldsView, Translate("Information"), RenderDetailsFields(group.GetLoop("Fields"), detailFieldsView)); 4820 productFieldsPage.Add(detailFieldsLayout, detailsCustom); 4821 } 4822 } 4823 } 4824 4825 if (categoryFieldsLayout != "hide") 4826 { 4827 foreach (LoopItem categoryGroup in GetLoop("ProductCategories")) 4828 { 4829 bool hasFields = categoryGroup.GetLoop("ProductCategoryFields").FirstOrDefault(cf => !string.IsNullOrEmpty(cf.GetString("Ecom:Product.CategoryField.Value"))) != null; 4830 4831 if (collectAllDownloads) 4832 { 4833 int downloadableCount = 0; 4834 foreach (LoopItem field in categoryGroup.GetLoop("ProductCategoryFields")) 4835 { 4836 if (field.GetString("Ecom:Product.CategoryField.TypeID") == "9") 4837 { 4838 downloadableCount++; 4839 } 4840 } 4841 4842 if (downloadableCount == categoryGroup.GetLoop("ProductCategoryFields").Count) 4843 { 4844 hasFields = false; 4845 } 4846 } 4847 4848 if (hasFields) 4849 { 4850 Block detailsCategoryFields = new Block() 4851 { 4852 Name = categoryFieldsLayout != "MainInformation" ? categoryGroup.GetString("Ecom:Product.Category.Name") : "", 4853 Id = ToPascalCase(categoryGroup.GetString("Ecom:Product.Category.Name")), 4854 SortId = 40, 4855 Template = RenderProductSection(categoryFieldsLayout, categoryFieldsView, categoryGroup.GetString("Ecom:Product.Category.Name"), RenderProductCategoryFields(categoryGroup.GetLoop("ProductCategoryFields"), categoryFieldsView)), 4856 Design = new Design 4857 { 4858 Size = "12", 4859 RenderType = RenderType.Column, 4860 HidePadding = true 4861 } 4862 }; 4863 4864 productFieldsPage.Add(categoryFieldsLayout, detailsCategoryFields); 4865 } 4866 } 4867 } 4868 4869 if (displayGroupsLayout != "hide") 4870 { 4871 var detailFieldsDisplayGroups = Pageview.AreaSettings.GetItem("ProductPage").GetList("ProductDetailFields").SelectedValues; 4872 var displayGroups = GetLoop("FieldDisplayGroups").Where(x => !detailFieldsDisplayGroups.Contains(x.GetString("Ecom:FieldDisplayGroup.ID"))); 4873 4874 foreach (LoopItem group in displayGroups) 4875 { 4876 Block displayGroup = new Block() 4877 { 4878 Name = displayGroupsLayout != "MainInformation" ? group.GetString("Ecom:FieldDisplayGroup.Name") : "", 4879 Id = "DisplayGroup_" + group.GetString("Ecom:FieldDisplayGroup.ID"), 4880 SortId = 40, 4881 Template = RenderProductSection(displayGroupsLayout, categoryFieldsView, group.GetString("Ecom:FieldDisplayGroup.Name"), RenderDetailsFields(group.GetLoop("Fields"), categoryFieldsView)), 4882 Design = new Design 4883 { 4884 Size = "12", 4885 RenderType = RenderType.Column, 4886 HidePadding = true 4887 } 4888 }; 4889 4890 productFieldsPage.Add(displayGroupsLayout, displayGroup); 4891 } 4892 } 4893 4894 if (downloadDocuments.Count > 0 && downloadsFieldsLayout != "hide" && collectAllDownloads == true) 4895 { 4896 Block detailsDownloads = new Block() 4897 { 4898 Name = downloadsFieldsLayout != "MainInformation" ? Translate("Downloads") : "", 4899 Id = "StandardDownloads", 4900 SortId = 50, 4901 Template = RenderProductSection(downloadsFieldsLayout, downloadsFieldsView, Translate("Downloads"), RenderProductDownloadsFields(downloadDocuments, downloadsFieldsView)), 4902 Design = new Design 4903 { 4904 Size = "12", 4905 RenderType = RenderType.Column, 4906 HidePadding = true 4907 } 4908 }; 4909 4910 productFieldsPage.Add(downloadsFieldsLayout, detailsDownloads); 4911 } 4912 } 4913 4914 @helper RenderCustomFields(List<LoopItem> fieldsLoop, string viewType) 4915 { 4916 bool collectAllDownloads = Pageview.AreaSettings.GetItem("ProductPage").GetString("CollectAllDownloads") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("CollectAllDownloads") : true; 4917 4918 foreach (LoopItem customField in fieldsLoop) 4919 { 4920 string fieldValue = customField.GetString("Product.CustomField.Value.Clean"); 4921 fieldValue = fieldValue == "False" ? Translate("No") : fieldValue; 4922 fieldValue = fieldValue == "True" ? Translate("Yes") : fieldValue; 4923 4924 if (customField.GetLoop("Product.CustomField.Options").Count > 0) 4925 { 4926 List<string> accumulatedValues = new List<string> (); 4927 4928 foreach (var option in customField.GetLoop("Product.CustomField.Options")) 4929 { 4930 if (option.GetBoolean("Product.CustomField.Option.IsSelected")) 4931 { 4932 accumulatedValues.Add(option.GetString("Product.CustomField.Option.Name")); 4933 } 4934 } 4935 fieldValue = string.Join(", ", accumulatedValues); 4936 } 4937 4938 if (!string.IsNullOrEmpty(customField.GetString("Product.CustomField.Name")) && !string.IsNullOrEmpty(fieldValue) && customField.GetString("Product.CustomField.Name") != "Custom sticker" && customField.GetString("Product.CustomField.Name") != "RRP") 4939 { 4940 if (string.IsNullOrEmpty(customField.GetString("Document.FullPath"))) 4941 { 4942 @RenderFieldItem(customField.GetString("Product.CustomField.Name"), fieldValue, viewType); 4943 } 4944 else if (collectAllDownloads == false) 4945 { 4946 @RenderFieldItem(customField.GetString("Product.CustomField.Name"), fieldValue, viewType, "download"); 4947 } 4948 } 4949 } 4950 } 4951 4952 @helper RenderProductSection(string layout, string viewType, string name, RazorEngine.Templating.TemplateWriter writer) 4953 { 4954 string ribbonClasses = layout == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : "u-no-padding"; 4955 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 4956 string ribbonSubClasses = layout == "Ribbon" ? "center-container--ribbon" : ""; 4957 4958 4959 <div class="product__section @ribbonClasses dw-mod"> 4960 <div class="center-container @ribbonSubClasses dw-mod"> 4961 @if (layout == "Section") 4962 { 4963 @Render(new Heading { Title = name, Level = 2 }) 4964 } 4965 4966 @if (viewType != "table") 4967 { 4968 <div class="grid grid--bleed u-margin-bottom--lg"> 4969 @writer 4970 </div> 4971 } 4972 else 4973 { 4974 string tableWidth = layout != "MainInformation" ? "grid__col-md-6" : "grid__col-md-12"; 4975 4976 <div class="grid grid--external-bleed-x u-margin-bottom--lg"> 4977 <div class="@tableWidth grid__col-sm-12 grid__col-xs-12"> 4978 <table class="table--responsive table--no-top-border"> 4979 @writer 4980 </table> 4981 </div> 4982 </div> 4983 } 4984 </div> 4985 </div> 4986 } 4987 4988 @helper RenderProductCategoryFields(List<LoopItem> fieldsLoop, string viewType) 4989 { 4990 bool collectAllDownloads = Pageview.AreaSettings.GetItem("ProductPage").GetString("CollectAllDownloads") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("CollectAllDownloads") : true; 4991 4992 foreach (LoopItem categoryField in fieldsLoop) 4993 { 4994 string fieldValue = categoryField.GetString("Ecom:Product.CategoryField.Value"); 4995 fieldValue = fieldValue == "False" ? Translate("No") : fieldValue; 4996 fieldValue = fieldValue == "True" ? Translate("Yes") : fieldValue; 4997 4998 if (!string.IsNullOrEmpty(categoryField.GetString("Ecom:Product.CategoryField.Label")) && !string.IsNullOrEmpty(fieldValue)) 4999 { 5000 if (categoryField.GetString("Ecom:Product.CategoryField.TypeID") != "9" || collectAllDownloads == false) 5001 { 5002 if (categoryField.GetString("Ecom:Product.CategoryField.TypeID") == "15") 5003 { 5004 @RenderFieldItem(categoryField.GetString("Ecom:Product.CategoryField.Label"), categoryField.GetString("Ecom:Product.CategoryField.OptionLabel"), viewType); 5005 } 5006 else if (categoryField.GetString("Ecom:Product.CategoryField.TypeID") == "8") 5007 { 5008 @RenderFieldItem(categoryField.GetString("Ecom:Product.CategoryField.Label"), fieldValue, viewType, "link"); 5009 } 5010 else if (categoryField.GetString("Ecom:Product.CategoryField.TypeID") == "9") 5011 { 5012 @RenderFieldItem(categoryField.GetString("Ecom:Product.CategoryField.Label"), fieldValue, viewType, "download"); 5013 } 5014 else 5015 { 5016 @RenderFieldItem(categoryField.GetString("Ecom:Product.CategoryField.Label"), fieldValue, viewType); 5017 } 5018 } 5019 } 5020 } 5021 } 5022 5023 @helper RenderDetailsFields(IEnumerable<LoopItem> fields, string viewType) 5024 { 5025 foreach (LoopItem field in fields) 5026 { 5027 string fieldValue = field.GetString("Ecom:FieldDisplayGroup.Field.Value"); 5028 fieldValue = fieldValue == "False" ? Translate("No") : fieldValue; 5029 fieldValue = fieldValue == "True" ? Translate("Yes") : fieldValue; 5030 5031 if (!string.IsNullOrEmpty(field.GetString("Ecom:FieldDisplayGroup.Field.Name")) && !string.IsNullOrEmpty(fieldValue)) 5032 { 5033 if (field.GetString("Ecom:FieldDisplayGroup.Field.TypeId") == "15") 5034 { 5035 @RenderFieldItem(field.GetString("Ecom:FieldDisplayGroup.Field.Name"), field.GetString("Ecom:FieldDisplayGroup.Field.OptionLabel"), viewType); 5036 } 5037 else if (field.GetString("Ecom:FieldDisplayGroup.Field.TypeId") == "8") 5038 { 5039 @RenderFieldItem(field.GetString("Ecom:Product.CategoryField.Label"), fieldValue, viewType, "link"); 5040 } 5041 else if (field.GetString("Ecom:FieldDisplayGroup.Field.TypeId") == "9") 5042 { 5043 @RenderFieldItem(field.GetString("Ecom:FieldDisplayGroup.Field.Name"), fieldValue, viewType, "download"); 5044 } 5045 else 5046 { 5047 @RenderFieldItem(field.GetString("Ecom:FieldDisplayGroup.Field.Name"), fieldValue, viewType); 5048 } 5049 } 5050 } 5051 } 5052 5053 @helper RenderProductDownloadsFields(List<LoopItem> fieldsLoop, string viewType) 5054 { 5055 foreach (LoopItem document in fieldsLoop) 5056 { 5057 string fieldValue; 5058 if (!string.IsNullOrEmpty(document.GetString("Document.FullPath"))) 5059 { 5060 fieldValue = document.GetString("Product.CustomField.Value.Clean"); 5061 @RenderFieldItem(fieldValue, document.GetString("Document.FullPath"), viewType, "download") 5062 } 5063 5064 if (document.GetString("Ecom:Product.CategoryField.TypeID") == "9") 5065 { 5066 fieldValue = document.GetString("Ecom:Product.CategoryField.Value"); 5067 @RenderFieldItem(fieldValue, fieldValue, viewType, "download") 5068 } 5069 if (!string.IsNullOrEmpty(document.GetString("Ecom:Product:Detail.Image.Clean"))) 5070 { 5071 fieldValue = document.GetString("Ecom:Product:Detail.Image.Clean"); 5072 @RenderFieldItem("", fieldValue, viewType, "download") 5073 } 5074 } 5075 } 5076 5077 @helper RenderFieldItem(string name, string value, string viewType, string fieldType = "clean") 5078 { 5079 if (viewType != "table") 5080 { 5081 string fieldColumns = viewType == "list" ? "12" : "4"; 5082 <div class="grid__col-md-@fieldColumns grid__col-sm-12 u-margin-bottom"> 5083 <div class="u-bold"> 5084 @name 5085 </div> 5086 <div> 5087 @RenderFieldItemContent(name, value, fieldType) 5088 </div> 5089 </div> 5090 } 5091 else 5092 { 5093 <tr> 5094 <th class="u-min-w140px">@name</th> 5095 <td data-th="@name"> 5096 @RenderFieldItemContent(name, value, fieldType) 5097 </td> 5098 </tr> 5099 } 5100 } 5101 5102 @helper RenderFieldItemContent(string name, string value, string fieldType = "clean") 5103 { 5104 if (fieldType == "link") 5105 { 5106 <a target="_blank" rel="noopener" href="@value"> 5107 @if (isImage(value)) 5108 { 5109 @getIconForFile(value) 5110 } 5111 else 5112 { 5113 @value 5114 } 5115 </a> 5116 } 5117 else if (fieldType == "download") 5118 { 5119 FileInfo info = new FileInfo(Dynamicweb.Core.SystemInformation.MapPath(value)); 5120 5121 if (info.Exists) 5122 { 5123 <div class="grid grid--no-wrap"> 5124 <a href="@value" download title="@Translate("Download")" class="product__document dw-mod">@getIconForFile(value)</a> 5125 <div class="product__document-info dw-mod"> 5126 <a href="@value" download title="@Translate("Download")" class="product__document dw-mod">@Path.GetFileName(value)</a> 5127 <small class="u-block u-margin-top">@ConvertBytes(info.Length)</small> 5128 </div> 5129 </div> 5130 } 5131 } 5132 else 5133 { 5134 @value 5135 } 5136 } 5137 5138 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 5139 @using Dynamicweb.Core 5140 @using System.Text.RegularExpressions 5141 @using System 5142 @using System.Web 5143 @using System.Collections.Generic 5144 @using Dynamicweb.Rapido.Blocks 5145 @using Dynamicweb.Rapido.Blocks.Components.General 5146 5147 @functions{ 5148 BlocksPage productVideoPage = BlocksPage.GetBlockPage("Product"); 5149 } 5150 5151 @{ 5152 var selectedVideoCategories = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideoAssets").SelectedValues; 5153 var videosFromAssets = GetLoop("ImageCategories").Where(x => selectedVideoCategories.Contains(x.GetString("Category.Id"))); 5154 5155 string videosLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideosLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("VideosLayout").SelectedValue : "Section"; 5156 videosLayout = videosLayout == "Ribbon" || string.IsNullOrEmpty(videosLayout) ? "Section" : videosLayout; 5157 5158 int videosCount = 0; 5159 5160 if (videosFromAssets != null) 5161 { 5162 foreach (LoopItem category in videosFromAssets) { 5163 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 5164 videosCount++; 5165 } 5166 } 5167 } else { 5168 foreach (LoopItem detailField in GetLoop("Details")) 5169 { 5170 if (detailField.GetString("Ecom:Product:Detail.Text").IndexOf("iframe") != -1 && detailField.GetString("Ecom:Product:Detail.Text").IndexOf("youtube.com/embed") != -1) 5171 { 5172 videosCount++; 5173 } 5174 if (detailField.GetString("Ecom:Product:Detail.Text").IndexOf("iframe") != -1 && detailField.GetString("Ecom:Product:Detail.Text").IndexOf("vimeo.com") != -1) 5175 { 5176 videosCount++; 5177 } 5178 } 5179 } 5180 5181 if (videosCount > 0 && videosLayout != "hide") 5182 { 5183 Block detailsVideos = new Block() 5184 { 5185 Name = videosLayout != "MainInformation" ? Translate("Videos") : "", 5186 Id = "Videos", 5187 SortId = 60, 5188 Template = RenderProductVideos(videosCount, videosLayout), 5189 Design = new Design 5190 { 5191 Size = "12", 5192 RenderType = RenderType.Column, 5193 HidePadding = true 5194 } 5195 }; 5196 productVideoPage.Add(videosLayout, detailsVideos); 5197 } 5198 } 5199 5200 @helper RenderProductVideos(int videosCount, string layout) { 5201 var selectedVideoCategories = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideoAssets").SelectedValues; 5202 var videosFromAssets = GetLoop("ImageCategories").Where(x => selectedVideoCategories.Contains(x.GetString("Category.Id"))); 5203 5204 string videoColumn = "12"; 5205 videoColumn = videosCount == 2 ? "6" : videoColumn; 5206 videoColumn = videosCount > 2 ? "4" : videoColumn; 5207 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideosLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 5208 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 5209 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VideosLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 5210 5211 <div class="product__section @ribbonClasses dw-mod"> 5212 <div class="center-container @ribbonSubClasses dw-mod"> 5213 @if (layout == "Section") { 5214 @Render(new Heading { Title = Translate("Videos"), Level = 2 }) 5215 } 5216 5217 <div class="grid u-margin-bottom--lg"> 5218 @if (videosFromAssets != null) { 5219 foreach (LoopItem category in videosFromAssets) { 5220 foreach (LoopItem asset in category.GetLoop("Category.Images")) { 5221 //getting video ID from youtube URL 5222 string videoCode = asset.GetString("Ecom:Product:Detail.Image.Clean"); 5223 Regex regex = new Regex(@".be\/(.[^?]*)"); 5224 Match match = regex.Match(videoCode); 5225 string videoId = ""; 5226 if (match.Success) 5227 { 5228 videoId = match.Groups[1].Value; 5229 } 5230 else 5231 { 5232 regex = new Regex(@"v=([^&]+)"); 5233 match = regex.Match(videoCode); 5234 if (match.Success) 5235 { 5236 videoId = match.Groups[1].Value; 5237 } 5238 } 5239 5240 <div class="grid__col-md-@videoColumn grid__col-lg-@videoColumn"> 5241 <div class="video-wrapper"> 5242 <div class="js-youtube-video" data-video="@videoId" id="ytPlayer@(Guid.NewGuid().ToString("N"))" data-auto-play="False" data-enable-controls="1"></div> 5243 </div> 5244 </div> 5245 } 5246 } 5247 } else { 5248 foreach (LoopItem detailField in GetLoop("Details")) 5249 { 5250 if (detailField.GetString("Ecom:Product:Detail.Text").IndexOf("iframe") != -1 && detailField.GetString("Ecom:Product:Detail.Text").IndexOf("youtube.com/embed") != -1 || detailField.GetString("Ecom:Product:Detail.Text").IndexOf("iframe") != -1 && detailField.GetString("Ecom:Product:Detail.Text").IndexOf("vimeo.com") != -1) 5251 { 5252 <div class="grid__col-md-@videoColumn grid__col-lg-@videoColumn"> 5253 <div class="video-wrapper"> 5254 @detailField.GetString("Ecom:Product:Detail.Text") 5255 </div> 5256 </div> 5257 } 5258 } 5259 } 5260 </div> 5261 </div> 5262 </div> 5263 } 5264 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 5265 @using Dynamicweb.Core 5266 @using System 5267 @using System.Web 5268 @using System.Collections.Generic 5269 @using Dynamicweb.Rapido.Blocks.Components.General 5270 @using Dynamicweb.Rapido.Blocks 5271 @using Dynamicweb.Rapido.Services 5272 5273 5274 @functions{ 5275 BlocksPage productRelatedPage = BlocksPage.GetBlockPage("Product"); 5276 } 5277 5278 @{ 5279 string relatedProductsLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("RelatedProductsLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("RelatedProductsLayout").SelectedValue : "Section"; 5280 relatedProductsLayout = relatedProductsLayout == "Ribbon" || string.IsNullOrEmpty(relatedProductsLayout) ? "Section" : relatedProductsLayout; 5281 bool relatedShowStock = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowStockAndShipping"); 5282 bool showAddToDownloadButton = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowAddToDownloadButton"); 5283 bool relatedShowPrice = !Pageview.AreaSettings.GetItem("ProductList").GetBoolean("HidePrice"); 5284 bool relatedShowFavoriteButton = !Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("HideFavoriteButton") && Pageview.User != null; 5285 bool relatedPointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 5286 bool relatedShowCartButton = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowAddToCartButton"); 5287 bool relatedShowViewButton = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowViewButton"); 5288 string relatedCartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 5289 string relatedMoreText = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetString("ViewMoreText")) ? Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetString("ViewMoreText") : "View"; 5290 bool relatedShowNumber = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowProductNumber"); 5291 string relatedImageZoomOnHover = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("HoverImageZoom") ? "image-hover--zoom" : ""; 5292 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 5293 5294 int relatedProductsPageSize = 4; 5295 5296 if (Pageview.Device.ToString() == "Mobile") 5297 { 5298 relatedProductsPageSize = 1; 5299 } 5300 5301 if (Pageview.Device.ToString() == "Tablet") 5302 { 5303 relatedProductsPageSize = 3; 5304 } 5305 5306 int relatedProductsColumnWidth = 12 / relatedProductsPageSize; 5307 5308 if (relatedProductsLayout != "hide") 5309 { 5310 var i = 0; 5311 foreach (LoopItem relatedGroup in GetLoop("ProductRelatedGroups")) 5312 { 5313 string relatedGroupId = ToPascalCase(relatedGroup.GetString("Ecom:Product:RelatedGroup.Name")); 5314 string baseFeedPageUrl = "Default.aspx?ID=" + GetPageIdByNavigationTag("ProductsPage") + "&PageSize=" + relatedProductsPageSize + "&ProdID=" + GetString("Ecom:Product.ID") + "&feed=true"; 5315 string relatedFeed = baseFeedPageUrl + "&" + relatedGroupId + "=" + GetString("Ecom:Product.ID")+ GetString("Ecom:Product.VariantID") + "&GroupName=" + relatedGroupId; 5316 string relatedGroupName = relatedProductsLayout != "maininformation" ? relatedGroup.GetString("Ecom:Product:RelatedGroup.Name") : ""; 5317 relatedFeed += isLiveProductInfoActive ? "&getproductinfo=true" : ""; 5318 relatedFeed = Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(relatedFeed); 5319 i++; 5320 5321 Block detailsRelated = new Block() 5322 { 5323 Name = relatedGroupName, 5324 Id = relatedGroupId, 5325 SortId = 70 + i, 5326 Template = RenderRelatedProducts(relatedGroupName, relatedGroupId, relatedFeed, relatedProductsLayout), 5327 Design = new Design 5328 { 5329 Size = "12", 5330 RenderType = RenderType.Column, 5331 HidePadding = true 5332 } 5333 }; 5334 5335 productRelatedPage.Add(relatedProductsLayout, detailsRelated); 5336 } 5337 } 5338 } 5339 5340 @helper RenderRelatedProducts(string name, string groupId, string relatedFeedUrl, string layout) 5341 { 5342 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("RelatedProductsLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 5343 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 5344 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("RelatedProductsLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 5345 5346 <div class="product__section @ribbonClasses dw-mod"> 5347 <div class="center-container @ribbonSubClasses dw-mod"> 5348 @if (layout == "Section") { 5349 @Render(new Heading { Title = name, Level = 2 }) 5350 } 5351 <div class="js-handlebars-root" id="ProductList_@groupId" data-template="ProductContainer" data-pre-render-template="ProductPreRenderContainer" data-json-feed="@relatedFeedUrl" data-preloader="minimal"></div> 5352 </div> 5353 </div> 5354 } 5355 5356 @* Script templates for related products *@ 5357 <script id="ProductPreRenderContainer" type="text/x-template"> 5358 <div class="u-h600px u-full-width"> 5359 <div class="grid"> 5360 <div class="grid__col-12"> 5361 <div class="pre-render-element pre-render-element--md"></div> 5362 </div> 5363 </div> 5364 </div> 5365 </script> 5366 5367 @helper RenderGridViewPriceInfo() 5368 { 5369 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 5370 bool showPrice = !Pageview.AreaSettings.GetItem("ProductList").GetBoolean("HidePrice"); 5371 bool showCartButton = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView").GetBoolean("ShowAddToCartButton"); 5372 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductList").GetBoolean("ShowBothPricesWithWithoutVAT"); 5373 bool isPricesWithVATEnabled = Dynamicweb.Ecommerce.Common.Context.DisplayPricesWithVat; 5374 5375 if (showPrice && Dynamicweb.Rapido.Services.User.IsPricesAllowed()) 5376 { 5377 if (pointShopOnly) 5378 { 5379 <text> 5380 {{#if havePointPrice}} 5381 <div class="price price--product-list dw-mod">{{points}} @Translate("points")</div> 5382 @if (showCartButton) 5383 { 5384 <text> 5385 {{#unless canBePurchasedWithPoints}} 5386 <small class="help-text u-no-margin">@Translate("Not enough points to buy this")</small> 5387 {{/unless}} 5388 </text> 5389 } 5390 {{else}} 5391 @Translate("Not available") 5392 {{/if}} 5393 </text> 5394 } 5395 else 5396 { 5397 <div class="price price--product-list dw-mod">{{price}}</div> 5398 <div class="before-price {{onSale}} dw-mod">{{discount}}</div> 5399 if (showVATPrice) 5400 { 5401 <div class="vat-price vat-price--product-list u-margin-top dw-mod"> 5402 @if (isPricesWithVATEnabled) 5403 { 5404 <span>@Translate("excl. VAT")</span><span> ({{priceWithoutVAT}})</span> 5405 } 5406 else 5407 { 5408 <span>@Translate("incl. VAT")</span><span> ({{priceWithVAT}})</span> 5409 } 5410 </div> 5411 } 5412 <text> 5413 {{#if priceRRP}} 5414 <div><small>@Translate("RRP") {{priceRRP}}</small></div> 5415 {{/if}} 5416 </text> 5417 } 5418 } 5419 } 5420 5421 @helper RenderProductGridItemAddToCart() { 5422 var gridViewSettings = Pageview.AreaSettings.GetItem("ProductList").GetItem("GridView"); 5423 var ecommerceSettings = Pageview.AreaSettings.GetItem("Ecommerce"); 5424 5425 bool pointShopOnly = ecommerceSettings.GetBoolean("PointShopOnly"); 5426 bool showCartButton = gridViewSettings.GetBoolean("ShowAddToCartButton"); 5427 bool showViewButton = gridViewSettings.GetBoolean("ShowViewButton"); 5428 string viewMoreText = gridViewSettings.GetString("ViewMoreText"); 5429 viewMoreText = !string.IsNullOrEmpty(viewMoreText) ? viewMoreText : "View"; 5430 string wrapperClass = "buttons-collection--center"; 5431 int columnsCount = gridViewSettings.GetList("Columns") != null ? Converter.ToInt32(gridViewSettings.GetList("Columns").SelectedValue) : 4; 5432 bool hideButtonText = columnsCount >= 4 || Pageview.Device.ToString() == "Mobile" || Pageview.Device.ToString() == "Tablet"; 5433 5434 if (pointShopOnly && columnsCount <= 4) 5435 { 5436 hideButtonText = false; 5437 } 5438 5439 var viewBtn = new Link 5440 { 5441 Href = "{{link}}", 5442 Id = "CartButton_{{id}}", 5443 Title = Translate(viewMoreText), 5444 OnClick = "{{#if googleImpression}}googleEnchantImpressionClick({{googleImpression}}, event){{/if}}", 5445 ButtonLayout = ButtonLayout.Secondary, 5446 CssClass = "u-no-margin" 5447 }; 5448 5449 if (Dynamicweb.Rapido.Services.User.IsBuyingAllowed()) 5450 { 5451 var addToCartBtn = new AddToCart 5452 { 5453 WrapperCssClass = wrapperClass, 5454 AddButton = new AddToCartButton 5455 { 5456 ProductId = "{{productId}}", 5457 VariantId = "{{variantid}}", 5458 UnitId = "{{unitId}}", 5459 ProductInfo = "{{productInfo}}", 5460 BuyForPoints = pointShopOnly, 5461 HideTitle = hideButtonText, 5462 OnClick = "{{facebookPixelAction}}", 5463 ExtraAttributes = new Dictionary<string, string> 5464 { 5465 { "{{disabledBuyButton}}", "" } 5466 } 5467 } 5468 }; 5469 5470 if (!pointShopOnly) 5471 { 5472 addToCartBtn.QuantitySelector = new QuantitySelector 5473 { 5474 Id = "Quantity{{id}}" 5475 }; 5476 } 5477 5478 if (showCartButton && Dynamicweb.Rapido.Services.User.IsBuyingAllowed()) 5479 { 5480 if (!showViewButton) 5481 { 5482 @Render(addToCartBtn) 5483 } 5484 else 5485 { 5486 <text>{{#if hideAddToCartButton}}</text> 5487 <div>@Render(viewBtn)</div> 5488 <text>{{else}}</text> 5489 @Render(addToCartBtn) 5490 <text>{{/if}}</text> 5491 } 5492 } 5493 else if (showViewButton) 5494 { 5495 <div>@Render(viewBtn)</div> 5496 } 5497 } 5498 else if (showViewButton) 5499 { 5500 <div>@Render(viewBtn)</div> 5501 } 5502 } 5503 5504 <script id="ProductContainer" type="text/x-template"> 5505 {{#.}} 5506 <div class="u-min-h400px u-full-width"> 5507 <div class="grid"> 5508 <div class="grid__col-45px grid__col--bleed-x"> 5509 <div class="grid__cell grid__cell--align-middle-left"> 5510 @{ 5511 Button prevButton = new Button { Icon = new Icon { Prefix = "fas", Name = "fa-chevron-left fa-2x", LabelPosition = IconLabelPosition.After }, ButtonLayout = ButtonLayout.Clean, CssClass = "btn--condensed {{prevdisabled}} u-position-relative", OnClick = "HandlebarsBolt.UpdateContent('ProductList_{{groupName}}', '{{prevPage}}')" }; 5512 prevButton.ExtraAttributes.Add("", "{{prevdisabled}}"); 5513 } 5514 @Render(prevButton) 5515 </div> 5516 </div> 5517 <div class="grid__col-auto grid__col--bleed-x"> 5518 <div id="ProductsContainer" data-template="ProductGridItemContainer" class="grid product-list dw-mod" data-save-cookie="true"> 5519 {{#ProductsContainer}} 5520 <div id="Product{{productId}}" class="grid__col-@relatedProductsColumnWidth product-list__grid-item @relatedImageZoomOnHover dw-mod"> 5521 {{#Product}} 5522 <div class="grid__col--auto js-product-scroll-trigger u-no-padding u-full-height" data-params="{{googleImpression}}"> 5523 <div class="grid__cell product-list__grid-item__image dw-mod {{noImage}}"> 5524 <a href="{{link}}" 5525 onclick="{{#if googleImpression}}googleEnchantImpressionClick({{googleImpression}}, event){{/if}}" 5526 class="u-block u-position-relative image-hover__wrapper dw-mod"> 5527 @Render(new Image { Path = "{{image}}", ImageDefault = new ImageSettings { Width = 300, Height = 300, Crop = 5, FillCanvas = true, DoNotUpscale = true }, Title = "{{name}}", CssClass = "grid__cell-img grid__cell-img--centered u-min-h180px" }) 5528 {{#StickersContainers}} 5529 {{>StickersContainer}} 5530 {{/StickersContainers}} 5531 </a> 5532 @if (relatedShowFavoriteButton) 5533 { 5534 <div class="favorites favorites--for-grid-view u-pull--right {{hasVariants}} dw-mod" {{hasVariants}}> 5535 {{#Favorite}} 5536 {{>FavoriteTemplate}} 5537 {{/Favorite}} 5538 </div> 5539 } 5540 </div> 5541 5542 <div class="grid__cell product-list__grid-item__price-info dw-mod"> 5543 <a href="{{link}}" onclick="{{#if googleImpression}}googleEnchantImpressionClick({{googleImpression}}, event){{/if}}" title="{{name}}" class="u-color-inherit"> 5544 @Render(new Heading { Title = "{{name}}", Level = 6, CssClass = "u-condensed-text u-bold" }) 5545 </a> 5546 5547 @if (relatedShowNumber) 5548 { 5549 <div class="item-number dw-mod">{{number}}</div> 5550 } 5551 5552 @RenderGridViewPriceInfo() 5553 </div> 5554 5555 <div class="product-list__grid-item__footer dw-mod"> 5556 @RenderProductGridItemAddToCart() 5557 5558 @if (User.IsStockInfoAllowed() && relatedShowStock) 5559 { 5560 <div class="u-margin-top"> 5561 <div><span class="stock-icon {{stockState}} u-no-margin dw-mod" title="{{stockText}}"></span> {{stockText}}</div> 5562 <div> 5563 {{#if deliveryText}} 5564 {{deliveryText}} 5565 {{else}} 5566 - 5567 {{/if}} 5568 </div> 5569 </div> 5570 } 5571 5572 @if (showAddToDownloadButton && Pageview.User != null) 5573 { 5574 Button addButton = new Button { Title = "<span class='js-button-text'>" + Translate("Add") + "</span>", ButtonLayout = ButtonLayout.Primary, CssClass = "u-no-margin u-margin-top btn--condensed dw-mod js-add-to-downloads", Icon = new Icon { Prefix = "fas", Name = "fa-plus", CssClass = "js-button-icon", LabelPosition = IconLabelPosition.After } }; 5575 addButton.ExtraAttributes.Add("data-product-id", "{{productId}}"); 5576 @Render(addButton) 5577 } 5578 </div> 5579 </div> 5580 {{/Product}} 5581 </div> 5582 {{/ProductsContainer}} 5583 </div> 5584 </div> 5585 <div class="grid__col-45px grid__col--bleed-x"> 5586 <div class="grid__cell grid__cell--align-middle-right"> 5587 @{ 5588 Button nextButton = new Button { Icon = new Icon { Prefix = "fas", Name = "fa-chevron-right fa-2x", LabelPosition = IconLabelPosition.After }, ButtonLayout = ButtonLayout.Clean, CssClass = "btn--condensed {{nextdisabled}} u-position-relative", OnClick = "HandlebarsBolt.UpdateContent('ProductList_{{groupName}}', '{{nextPage}}')" }; 5589 nextButton.ExtraAttributes.Add("", "{{nextdisabled}}"); 5590 } 5591 @Render(nextButton) 5592 </div> 5593 </div> 5594 </div> 5595 </div> 5596 {{/.}} 5597 </script> 5598 5599 <script id="StickersContainer" type="text/x-template"> 5600 <div class="stickers-container stickers-container--{{{convertStickerPositionToClassName Position}}} dw-mod"> 5601 {{#Stickers}} 5602 {{>Sticker}} 5603 {{/Stickers}} 5604 </div> 5605 </script> 5606 5607 <script id="Sticker" type="text/x-template"> 5608 @Render(new Sticker { Title = "{{Title}}", CssClass = "{{CssClass}}" }) 5609 </script> 5610 5611 <script> 5612 @{ 5613 bool relatedUseGoogleTagManager = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("Settings").GetString("GoogleTagManagerID")); 5614 5615 if (relatedUseGoogleTagManager) 5616 { 5617 <text> 5618 document.addEventListener("DOMContentLoaded", function (event) { 5619 Scroll.AddIsInViewportListener(".js-product-scroll-trigger", function (elem) { 5620 let googleImpression = JSON.parse(elem.getAttribute("data-params")); 5621 googleImpression.list = "Related products"; 5622 googleEnchantImpression(googleImpression); 5623 elem.classList.remove("js-product-scroll-trigger"); 5624 }); 5625 }); 5626 </text> 5627 } 5628 } 5629 </script> 5630 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 5631 @using Dynamicweb.Core 5632 @using System 5633 @using System.Web 5634 @using System.Collections.Generic 5635 @using Dynamicweb.Rapido.Blocks 5636 @using Dynamicweb.Rapido.Blocks.Components.General 5637 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 5638 @using Dynamicweb.Rapido.Services 5639 5640 @functions { 5641 BlocksPage productVariantsListPage = BlocksPage.GetBlockPage("Product"); 5642 Dictionary<string, object> variantListSettings = new Dictionary<string, object> { 5643 { "RenderVariantsAsProducts", false }, 5644 { "RenderVariantGroupsInTable", false }, 5645 { "HideImage", false }, 5646 { "HideProductNumbers", false } 5647 }; 5648 } 5649 5650 @{ 5651 var variantsCount = GetInteger("Ecom:Product.VariantCount"); 5652 string variantsListLayout = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout") != null ? Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue : "Section"; 5653 variantsListLayout = variantsListLayout == "Ribbon" ? "Section" : variantsListLayout; 5654 5655 //family members 5656 bool isFamilyMember = false; 5657 var variantGroups = GetLoop("VariantGroups"); 5658 var variantGroupCount = variantGroups.Count; 5659 if (variantGroupCount == 1) 5660 { 5661 var firstVariantGroup = Dynamicweb.Ecommerce.Services.VariantGroups.GetVariantGroup(Dynamicweb.Ecommerce.Common.Context.LanguageID, variantGroups[0]?.GetString("Ecom:VariantGroup.ID")); 5662 if (firstVariantGroup != null) 5663 { 5664 isFamilyMember = firstVariantGroup.Family; 5665 } 5666 } 5667 if (isFamilyMember) 5668 { 5669 variantListSettings["RenderVariantsAsProducts"] = variantsCount > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderFamilyVariantsAsProducts"); 5670 variantListSettings["RenderVariantGroupsInTable"] = false; 5671 variantListSettings["HideImage"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideImageForEachFamilyVariant"); 5672 variantListSettings["HideProductNumbers"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideFamilyProductNumbers"); 5673 } 5674 else 5675 { 5676 variantListSettings["RenderVariantsAsProducts"] = variantsCount > 1 && Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderVariantsAsProductList"); 5677 variantListSettings["RenderVariantGroupsInTable"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("RenderVariantGroupsInTable"); 5678 variantListSettings["HideImage"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideImageForEachVariant"); 5679 variantListSettings["HideProductNumbers"] = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideProductNumbers"); 5680 } 5681 5682 if (Converter.ToBoolean(variantListSettings["RenderVariantsAsProducts"]) && variantsListLayout != "hide" && (isFamilyMember || !isFamilyMember)) 5683 { 5684 productVariantsListPage.Add(variantsListLayout, new Block 5685 { 5686 Name = variantsListLayout != "MainInformation" ? Translate("Variants list") : "", 5687 Id = "VariantsList", 5688 SortId = 20, 5689 Template = RenderVariantsProductList(variantsListLayout), 5690 Design = new Design 5691 { 5692 Size = "12", 5693 RenderType = RenderType.Column, 5694 HidePadding = true 5695 } 5696 }); 5697 5698 productVariantsListPage.Add("Section", new Block 5699 { 5700 Id = "VariantListScripts", 5701 SortId = 100, 5702 Template = RenderVariantListScripts(), 5703 Design = new Design {} 5704 }); 5705 } 5706 } 5707 5708 @helper RenderVariantsProductList(string layout) 5709 { 5710 string variantsListPageSize = HttpContext.Current.Request.QueryString.Get("PageSize") ?? "30"; 5711 string variantsFeedUrl = "/Default.aspx?ID=" + GetPageIdByNavigationTag("ProductsPage") + "&PageSize=" + variantsListPageSize + "&MainProductID=" + GetString("Ecom:Product.ID") + "&OnlyShowVariants=true&feed=true"; 5712 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 5713 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 5714 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 5715 5716 <div class="product__section @ribbonClasses dw-mod"> 5717 <div class="center-container @ribbonSubClasses dw-mod"> 5718 @if (layout == "Section") 5719 { 5720 @Render(new Heading { Title = Translate("Variants"), Level = 2 }) 5721 } 5722 <div class="js-handlebars-root" id="VariantsListRoot" data-template="VariantProductsContainer" data-json-feed="@variantsFeedUrl" data-preloader="minimal"></div> 5723 </div> 5724 </div> 5725 } 5726 5727 @helper RenderVariantListScripts() 5728 { 5729 bool showProductNumberForVariants = !Converter.ToBoolean(variantListSettings["HideProductNumbers"]); 5730 bool showImageForEachVariant = !Converter.ToBoolean(variantListSettings["HideImage"]); 5731 bool variantsPointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 5732 string variantsListPageSize = HttpContext.Current.Request.QueryString.Get("PageSize") ?? "30"; 5733 string variantsFeedUrl = "/Default.aspx?ID=" + GetPageIdByNavigationTag("ProductsPage") + "&PageSize=" + variantsListPageSize + "&MainProductID=" + GetString("Ecom:Product.ID") + "&OnlyShowVariants=true&feed=true"; 5734 string variantsCartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 5735 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 5736 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 5737 5738 <script id="VariantProductsContainer" type="text/x-template"> 5739 {{#.}} 5740 <div> 5741 <table id="VariantsProductsContainer" class="table u-position-relative dw-mod"> 5742 <thead> 5743 <tr> 5744 @if (showImageForEachVariant) 5745 { 5746 <td width="75">&nbsp;</td> 5747 } 5748 <td>@Translate("Product")</td> 5749 {{#AvailableCustomFields}} 5750 {{>TableFieldNameTemplate}} 5751 {{/AvailableCustomFields}} 5752 @if (Converter.ToBoolean(variantListSettings["RenderVariantGroupsInTable"])) { 5753 foreach (LoopItem variantgroup in GetLoop("VariantGroups")) 5754 { 5755 <td>@variantgroup.GetString("Ecom:VariantGroup.Name")</td> 5756 } 5757 } 5758 <td>&nbsp;</td> 5759 </tr> 5760 </thead> 5761 5762 <tbody id="VariantProductListContainer" data-template="VariantProductItemContainer" data-save-cookie="true"> 5763 {{#ProductsContainer}} 5764 {{>VariantProductItemContainer}} 5765 {{/ProductsContainer}} 5766 </tbody> 5767 </table> 5768 </div> 5769 5770 <div class="grid"> 5771 <div class="grid__col-12 grid__col--bleed-y"> 5772 @{ 5773 Button moreButton = new Button { Id = "LoadMoreButton", ButtonLayout = ButtonLayout.Primary, CssClass = "btn--full {{nextdisabled}}", Title = Translate("Load") + " " + Translate("more"), OnClick = "LoadMore.Next(this)" }; 5774 moreButton.ExtraAttributes.Add("data-current", "{{currentPage}}"); 5775 moreButton.ExtraAttributes.Add("data-page-size", "{{pageSize}}"); 5776 moreButton.ExtraAttributes.Add("data-total", "{{totalPages}}"); 5777 moreButton.ExtraAttributes.Add("data-container", "VariantProductListContainer"); 5778 moreButton.ExtraAttributes.Add("data-feed-url", variantsFeedUrl + "{{loadMoreFeedParams}}"); 5779 moreButton.ExtraAttributes.Add("", "{{nextdisabled}}"); 5780 } 5781 @Render(moreButton) 5782 </div> 5783 </div> 5784 {{/.}} 5785 </script> 5786 5787 <script id="VariantProductItemContainer" type="text/x-template"> 5788 {{#.}} 5789 <tr id="VariantProduct{{id}}" class="js-product" data-template="VariantProductItem" data-preloader="overlay" style="z-index: {{zIndex}}"> 5790 {{#Product}} 5791 {{>VariantProductItem}} 5792 {{/Product}} 5793 </tr> 5794 {{/.}} 5795 </script> 5796 5797 <script id="VariantProductItem" type="text/x-template"> 5798 {{#.}} 5799 @if (showImageForEachVariant) 5800 { 5801 <td width="75"> 5802 <div class="lightbox u-hidden-xxs"> 5803 <a href="{{link}}" onclick="Scroll.SavePosition(event)" title="{{name}}{{#if variantName}}, {{variantName}}{{/if}}"> 5804 @Render(new Image() 5805 { 5806 Path = "{{image}}", 5807 Title = "{{name}}{{#if variantName}}, {{variantName}}{{/if}}", 5808 CssClass = "lightbox__image {{noImage}}", 5809 DisableLazyLoad = true, 5810 ImageDefault = new ImageSettings { Width = 220, Height = 220, Crop = 5 } 5811 }) 5812 <div class="u-margin-right {{noImage}}"> 5813 @Render(new Image() 5814 { 5815 Path = "{{image}}", 5816 Title = "{{name}}{{#if variantName}}, {{variantName}}{{/if}}", 5817 DisableLazyLoad = true, 5818 ImageDefault = new ImageSettings { Width = 75, Height = 55, Crop = 5, FillCanvas = true } 5819 }) 5820 </div> 5821 </a> 5822 </div> 5823 </td> 5824 } 5825 5826 <td class="u-va-middle"> 5827 <a href="{{link}}" onclick="Scroll.SavePosition(event)" title="{{name}}{{#if variantName}}, {{variantName}}{{/if}}"> 5828 <h6 class="u-no-margin">{{name}}{{#if variantName}}, {{variantName}}{{/if}}</h6> 5829 </a> 5830 @if (showProductNumberForVariants) 5831 { 5832 <div class="item-number item-number--compressed u-margin-bottom dw-mod"> 5833 <div>{{number}}</div> 5834 </div> 5835 } 5836 @if (User.IsStockInfoAllowed()) 5837 { 5838 <text>{{#if stockText}}</text> 5839 <div class="item-number item-number--compressed dw-mod"> 5840 <span> 5841 <span class="stock-icon {{stockState}} u-no-margin dw-mod" title="{{stockText}}"></span> 5842 <span class="u-margin-right--lg"> {{stockText}}</span> 5843 {{deliveryText}} 5844 </span> 5845 </div> 5846 <text>{{/if}}</text> 5847 } 5848 else 5849 { 5850 <div class="grid__cell-footer stickers-container stickers-container--block dw-mod"> 5851 {{#Stickers}} 5852 {{>MiniSticker}} 5853 {{/Stickers}} 5854 </div> 5855 } 5856 </td> 5857 {{#CustomFields}} 5858 {{>TableFieldValueTemplate}} 5859 {{/CustomFields}} 5860 @if (Converter.ToBoolean(variantListSettings["RenderVariantGroupsInTable"])) 5861 { 5862 <text> 5863 {{#VariantSelectionNames}} 5864 {{>TableFieldNameTemplate}} 5865 {{/VariantSelectionNames}} 5866 </text> 5867 } 5868 <td class="u-va-middle"> 5869 @if (Dynamicweb.Rapido.Services.User.IsPricesAllowed() && !Dynamicweb.Rapido.Services.User.IsBuyingAllowed()) 5870 { 5871 <div class="u-hidden-sm"> 5872 <div class="u-full-width u-ta-right u-padding-right"> 5873 <div class="before-price {{onSale}} before-price--micro dw-mod">{{discount}}</div> 5874 <div class="price price--product-list price--micro dw-mod">{{price}}</div> 5875 </div> 5876 </div> 5877 } 5878 5879 <div class="grid grid--align-center grid--justify-end"> 5880 <div class="u-margin-right u-hidden-xs u-hidden-xxs"> 5881 @if (variantsPointShopOnly) 5882 { 5883 <text> 5884 {{#if canBePurchasedWithPoints}} 5885 <div class="price price--product-list price--micro dw-mod">{{points}} @Translate("points")</div> 5886 {{else}} 5887 {{#if havePointPrice}} 5888 <small class="help-text u-no-margin u-margin-top">@Translate("Not enough points to buy this")</small> 5889 {{else}} 5890 <small class="help-text u-no-margin u-margin-top">@Translate("Not available")</small> 5891 {{/if}} 5892 {{/if}} 5893 </text> 5894 } 5895 else if (Dynamicweb.Rapido.Services.User.IsPricesAllowed()) 5896 { 5897 <div class="before-price before-price--micro {{onSale}} dw-mod">{{discount}}</div> 5898 <div class="price price--condensed price--product-list dw-mod">{{price}}</div> 5899 } 5900 </div> 5901 5902 @if (Dynamicweb.Rapido.Services.User.IsBuyingAllowed()) 5903 { 5904 var addToCartBtn = new AddToCart 5905 { 5906 AddButton = new AddToCartButton 5907 { 5908 HideTitle = true, 5909 ProductId = "{{productId}}", 5910 VariantId = "{{variantid}}", 5911 UnitId = "{{unitId}}", 5912 ProductInfo = "{{productInfo}}", 5913 BuyForPoints = variantsPointShopOnly, 5914 OnClick = "{{facebookPixelAction}}" 5915 }, 5916 UnitSelector = new UnitSelector 5917 { 5918 OptionsContent = "{{#unitOptions}}{{>VariantUnitOption}}{{/unitOptions}}", 5919 Id = "UnitOptions_{{id}}", 5920 SelectedOption = "{{unitName}}", 5921 CssClass = "{{hasUnits}}" 5922 } 5923 }; 5924 5925 if (!variantsPointShopOnly) 5926 { 5927 addToCartBtn.QuantitySelector = new QuantitySelector 5928 { 5929 Id = "Quantity_{{id}}" 5930 }; 5931 } 5932 5933 <div class="grid__cell u-flex-grow--0"> 5934 @Render(addToCartBtn) 5935 </div> 5936 } 5937 <div class="favorites u-margin-left dw-mod"> 5938 {{#Favorite}} 5939 {{>FavoriteTemplate}} 5940 {{/Favorite}} 5941 </div> 5942 </div> 5943 </td> 5944 {{/.}} 5945 </script> 5946 5947 <script id="TableFieldNameTemplate" type="text/x-template"> 5948 <td class="u-va-middle">{{name}}</td> 5949 </script> 5950 5951 <script id="TableFieldValueTemplate" type="text/x-template"> 5952 <td class="u-va-middle">{{value}}</td> 5953 </script> 5954 5955 <script id="MiniSticker" type="text/x-template"> 5956 <div class="stickers-container__tag stickers-container__tag--micro {{CssClass}} dw-mod">{{Title}}</div> 5957 </script> 5958 5959 <script id="VariantUnitOption" type="text/x-template"> 5960 <div class="dropdown__item dw-mod" onclick="HandlebarsBolt.UpdateContent(this.closest('.js-product').id, '{{link}}&feed=true&UnitID={{value}}@liveProductInfoParameter')">{{name}}</div> 5961 </script> 5962 } 5963 5964 5965 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 5966 @using Dynamicweb.Core 5967 @using System 5968 @using System.Web 5969 @using System.Collections.Generic 5970 @using Dynamicweb.Rapido.Blocks 5971 @using Dynamicweb.Rapido.Blocks.Components.General 5972 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 5973 5974 @functions { 5975 BlocksPage productVariantsMatrixPage = BlocksPage.GetBlockPage("Product"); 5976 } 5977 5978 5979 @{ 5980 var matrixLayoutSetting = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsMatrixLayout"); 5981 string variantsMatrixLayout = matrixLayoutSetting != null && !string.IsNullOrEmpty(matrixLayoutSetting.SelectedValue) ? matrixLayoutSetting.SelectedValue : "Section"; 5982 variantsMatrixLayout = variantsMatrixLayout == "Ribbon" ? "Section" : variantsMatrixLayout; 5983 bool renderVariantsAsMatrix = GetInteger("Ecom:Product.VariantCount") > 1 && variantsMatrixLayout.ToLower() != "hide" && Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("EnableVariantMatrix"); 5984 5985 if (renderVariantsAsMatrix) 5986 { 5987 Block variantsMatrix = new Block() 5988 { 5989 Name = Translate("Variants"), 5990 Id = "VariantsMatrix", 5991 SortId = 15, 5992 Template = RenderVariantsMatrixSection(variantsMatrixLayout), 5993 Design = new Design 5994 { 5995 Size = "12", 5996 RenderType = RenderType.Column, 5997 HidePadding = true 5998 } 5999 }; 6000 6001 if (variantsMatrixLayout == "Section") { 6002 productVariantsMatrixPage.Add(variantsMatrix); 6003 } else { 6004 productVariantsMatrixPage.Add(variantsMatrixLayout, variantsMatrix); 6005 } 6006 } 6007 } 6008 6009 @helper RenderVariantsMatrixSection(string layout) 6010 { 6011 string cartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 6012 string ribbonClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue == "Ribbon" ? "product__section--ribbon paragraph-container paragraph-container--full-width" : ""; 6013 ribbonClasses = layout == "Tabs" ? "" : ribbonClasses; 6014 string ribbonSubClasses = Pageview.AreaSettings.GetItem("ProductPage").GetList("VariantsListLayout").SelectedValue == "Ribbon" ? "center-container--ribbon" : ""; 6015 6016 List<LoopItem> variantInfos = GetLoop("VariantInfos"); 6017 string productId = GetString("Ecom:Product.ID"); 6018 string pageId = Pageview.Page.ID.ToString(); 6019 6020 6021 <div class="product__section u-no-padding @ribbonClasses dw-mod"> 6022 <div class="center-container @ribbonSubClasses dw-mod"> 6023 @RenderVariantInfoMatrix(variantInfos, productId, pageId, 0, "add") 6024 </div> 6025 </div> 6026 } 6027 6028 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6029 @using Dynamicweb.Rendering 6030 @using Dynamicweb.Core 6031 @using System 6032 @using System.Web 6033 @using System.Collections.Generic 6034 @using Dynamicweb.Rapido.Blocks 6035 @using Dynamicweb.Rapido.Blocks.Components 6036 @using Dynamicweb.Rapido.Blocks.Components.General 6037 6038 6039 @* Component - Variant Info Matrix. This replaces the old Variant Matrix with a much cleaner approach *@ 6040 6041 @helper RenderVariantInfoMatrix(List<LoopItem> variantInfos, string productId, string pageId, double totalPrice = 0, string actionType = "update") { 6042 string cartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 6043 bool hideAddToCartButton = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("hideAddToCartButton"); 6044 6045 string currencyCode = Dynamicweb.Ecommerce.Common.Context.Currency.Code; 6046 string countryCode = Pageview.Area.CultureInfo != null ? Pageview.Area.CultureInfo.Name : "en-US"; 6047 6048 int loopCount = 0; 6049 int dimensionsCount = 0; 6050 bool firstRun = true; 6051 List<string> headerLabels = new List<string>(); 6052 6053 bool useFontAwesomePro = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetBoolean("UseFontAwesomePro"); 6054 6055 //Collect the missing data needed to render matrixes 6056 foreach (var variantInfoFirst in variantInfos) 6057 { 6058 dimensionsCount = 1; 6059 6060 foreach (var variantInfoSecond in variantInfoFirst.GetLoop("VariantInfos")) 6061 { 6062 dimensionsCount = 2; 6063 6064 if (firstRun) { 6065 headerLabels.Add(variantInfoSecond.GetString("OptionName")); 6066 } 6067 6068 foreach (var variantInfoThird in variantInfoSecond.GetLoop("VariantInfos")) 6069 { 6070 dimensionsCount = 3; 6071 } 6072 } 6073 6074 firstRun = false; 6075 } 6076 6077 @*One dimension*@ 6078 if (dimensionsCount == 1) 6079 { 6080 int totalQuantity = 0; 6081 6082 <table cellspacing="0" class="table matrix js-matrix dw-mod"> 6083 <thead class="matrix__head dw-mod"> 6084 <tr> 6085 @foreach (var variantInfoFirst in variantInfos) 6086 { 6087 <td class="u-bold u-ta-center" width="80" > 6088 <div>@variantInfoFirst.GetString("OptionName")</div> 6089 <small>@variantInfoFirst.GetString("VariantId")</small> 6090 </td> 6091 } 6092 <td width="80px" align="right" class="matrix-label-field-right dw-mod">@Translate("Totals")</td> 6093 <td>&nbsp;</td> 6094 </tr> 6095 </thead> 6096 <tbody> 6097 <tr> 6098 @foreach (var variantInfoFirst in variantInfos) 6099 { 6100 double price = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, variantInfoFirst.GetString("VariantId"), Dynamicweb.Ecommerce.Common.Context.LanguageID).GetPrice(Dynamicweb.Ecommerce.Common.Context.Currency.Code, Dynamicweb.Ecommerce.Common.Context.Country.Code2).Price; 6101 6102 loopCount++; 6103 totalQuantity += variantInfoFirst.GetInteger("Quantity"); 6104 6105 <td class="matrix__input-cell dw-mod"> 6106 @if (variantInfoFirst.GetBoolean("IsProduct")) 6107 { 6108 <input type="hidden" name="ProductLoopCounter@(loopCount)" value="@(loopCount)" /> 6109 <input type="hidden" name="ProductID@(loopCount)" value="@productId" /> 6110 <input type="hidden" name="VariantID@(loopCount)" value="@variantInfoFirst.GetString("VariantId")" /> 6111 <input type="number" name="Quantity@(loopCount)" value="@variantInfoFirst.GetString("Quantity")" data-price="@price" min="0" step="1" oninput="validity.valid||(value='');" class="matrix-input-field dw-mod" onchange="Matrix.UpdateQuantities(this)" data-row-id="ONE"> 6112 } else { 6113 <div class="matrix__cell-disabled dw-mod"></div> 6114 } 6115 </td> 6116 } 6117 <td class="u-va-middle"> 6118 <div class="u-bold u-ta-right matrix-label-field-right dw-mod" data-row-total="ONE"> 6119 @totalQuantity 6120 </div> 6121 </td> 6122 <td class="u-bold u-va-middle u-ta-right matrix-label-field-right dw-mod"> 6123 <div class="js-total-price" data-currency-code="@currencyCode" data-country-code="@countryCode"></div> 6124 </td> 6125 </tr> 6126 </tbody> 6127 <tfoot> 6128 <tr> 6129 <td colspan="@(variantInfos.Count + 2)">&nbsp;</td> 6130 </tr> 6131 @if (!hideAddToCartButton) 6132 { 6133 <tr> 6134 <td colspan="@(variantInfos.Count + 2)" class="u-ta-right"> 6135 <div class="u-padding--lg"> 6136 @if (actionType == "update") { 6137 @Render(new Button { OnClick = "Matrix.UpdateCart(this, '" + pageId + "');", Title = Translate("Update"), ButtonLayout = ButtonLayout.Tertiary, Icon = new Icon { Prefix = useFontAwesomePro ? "fal" : "fas", Name = "fa-redo", LabelPosition = IconLabelPosition.After }, CssClass = "u-no-margin" }) 6138 } else if (actionType == "justadd") { 6139 @Render(new Button { OnClick = "Matrix.AddToCart(this, '" + pageId + "');", Title = Translate("Add"), ButtonLayout = ButtonLayout.Tertiary, CssClass = "u-no-margin" }) 6140 } else { 6141 @Render(new Button { OnClick = "Matrix.AddToCart(this, '" + pageId + "');", Title = Translate("Add to cart"), ButtonLayout = ButtonLayout.Tertiary, Icon = new Icon { Name = cartIcon, LabelPosition = IconLabelPosition.After }, CssClass = "u-no-margin" }) 6142 } 6143 </div> 6144 </td> 6145 </tr> 6146 } 6147 </tfoot> 6148 </table> 6149 } 6150 6151 @*Two dimensions*@ 6152 if (dimensionsCount == 2) 6153 { 6154 Dictionary<string, int> columnTotals = new Dictionary<string, int>(); 6155 int counter = 0; 6156 int totalProducts = 0; 6157 int totalColumns = 0; 6158 6159 <table class="table matrix js-matrix dw-mod" cellspacing="0"> 6160 <thead class="matrix__head dw-mod"> 6161 <tr> 6162 <td width="160">&nbsp;</td> 6163 @foreach (string label in headerLabels) 6164 { 6165 <td class="u-bold u-ta-center" width="80">@label</td> 6166 } 6167 <td align="right" width="80" class="matrix-label-field-right dw-mod">@Translate("Totals")</td> 6168 <td>&nbsp;</td> 6169 </tr> 6170 </thead> 6171 <tbody> 6172 @foreach (var variantInfoFirst in variantInfos) 6173 { 6174 int totalRowQuantity = 0; 6175 counter += variantInfoFirst.GetInteger("Quantity"); 6176 totalColumns = variantInfoFirst.GetLoop("VariantInfos").Count; 6177 6178 <tr> 6179 <td class="matrix-label-field-left dw-mod"> 6180 <div class="u-pull--left"> 6181 <div>@variantInfoFirst.GetString("OptionName")</div> 6182 <small>@variantInfoFirst.GetString("VariantId")</small> 6183 </div> 6184 6185 @if (!string.IsNullOrEmpty(variantInfoFirst.GetString("Image"))) { 6186 <div class="matrix-option-image u-pull--right dw-mod" onclick="Matrix.ShowOptionImageModal(this)" data-img-src="/files/@variantInfoFirst.GetString("Image")"> 6187 @Render(new Image { 6188 Path = variantInfoFirst.GetString("Image"), 6189 ImageDefault = new ImageSettings { 6190 Width = 28, 6191 Height = 28 6192 }, 6193 ImageMedium = new ImageSettings { 6194 Width = 28, 6195 Height = 28 6196 }, 6197 ImageSmall = new ImageSettings { 6198 Width = 28, 6199 Height = 28 6200 } 6201 }) 6202 </div> 6203 } 6204 </td> 6205 @foreach (var variantInfoSecond in variantInfoFirst.GetLoop("VariantInfos")) 6206 { 6207 loopCount++; 6208 totalRowQuantity += variantInfoSecond.GetInteger("Quantity"); 6209 6210 string optionName = variantInfoSecond.GetString("OptionName"); 6211 int optionQuantity = variantInfoSecond.GetInteger("Quantity"); 6212 if (columnTotals.ContainsKey(optionName)) { 6213 columnTotals[optionName] += optionQuantity; 6214 } else { 6215 columnTotals.Add(optionName, optionQuantity); 6216 } 6217 6218 <td class="matrix__input-cell dw-mod"> 6219 @if (variantInfoSecond.GetBoolean("IsProduct")) { 6220 double price = Dynamicweb.Ecommerce.Services.Products.GetProductById(productId, variantInfoSecond.GetString("VariantId"), Dynamicweb.Ecommerce.Common.Context.LanguageID).GetPrice(Dynamicweb.Ecommerce.Common.Context.Currency.Code, Dynamicweb.Ecommerce.Common.Context.Country.Code2).Price; 6221 6222 <input type="hidden" name="ProductLoopCounter@(loopCount)" value="@(loopCount)" /> 6223 <input type="hidden" name="ProductID@(loopCount)" value="@productId" /> 6224 <input type="hidden" name="VariantID@(loopCount)" value="@variantInfoSecond.GetString("VariantId")" /> 6225 <input type="number" name="Quantity@(loopCount)" value="@variantInfoSecond.GetString("Quantity")" data-price="@price" min="0" step="1" oninput="validity.valid||(value='');" class="matrix-input-field dw-mod" onchange="Matrix.UpdateQuantities(this)" data-row-id="@variantInfoFirst.GetString("OptionName")" data-column-id="@variantInfoSecond.GetString("OptionName")"> 6226 } else { 6227 <div class="matrix__cell-disabled dw-mod"></div> 6228 } 6229 </td> 6230 } 6231 <td class="u-va-middle matrix-label-field-right dw-mod"> 6232 <div class="u-bold u-ta-right" data-row-total="@variantInfoFirst.GetString("OptionName")"> 6233 @totalRowQuantity 6234 </div> 6235 </td> 6236 <td>&nbsp;</td> 6237 </tr> 6238 } 6239 </tbody> 6240 <tfoot> 6241 <tr> 6242 <td class="u-bold u-va-middle matrix-label-field-left dw-mod">@Translate("Totals")</td> 6243 @foreach (var item in columnTotals) 6244 { 6245 totalProducts += item.Value; 6246 6247 <td> 6248 <div class="u-bold u-ta-center u-padding--lg" data-column-total="@item.Key"> 6249 @item.Value 6250 </div> 6251 </td> 6252 } 6253 <td class="u-bold u-va-middle u-ta-right matrix-label-field-right dw-mod" align="right"> 6254 <div class="js-total-quantity">@totalProducts</div> 6255 </td> 6256 <td class="u-bold u-va-middle u-ta-right matrix-label-field-right dw-mod"> 6257 <div class="js-total-price" data-currency-code="@currencyCode" data-country-code="@countryCode"></div> 6258 </td> 6259 </tr> 6260 <tr> 6261 <td colspan="@(totalColumns + 4)" class="u-ta-right u-no-padding"> 6262 <div class="u-padding--lg"> 6263 @if (actionType == "update") { 6264 @Render(new Button { OnClick = "Matrix.UpdateCart(this, '" + pageId + "');", Title = Translate("Update"), ButtonLayout = ButtonLayout.Tertiary, Icon = new Icon { Prefix = useFontAwesomePro ? "fal" : "fas", Name = "fa-redo", LabelPosition = IconLabelPosition.After }, CssClass = "u-no-margin" }) 6265 } else { 6266 @Render(new Button { OnClick = "Matrix.AddToCart(this, '" + pageId + "');", Title = Translate("Add to cart"), ButtonLayout = ButtonLayout.Tertiary, Icon = new Icon { Name = cartIcon, LabelPosition = IconLabelPosition.After }, CssClass = "u-no-margin" }) 6267 } 6268 </div> 6269 </td> 6270 </tr> 6271 </tfoot> 6272 </table> 6273 } 6274 6275 6276 Modal optionColorImage = new Modal { 6277 Id = "OptionColorImage", 6278 BodyTemplate = @Render(new Image { Path = "/Files/Images/placeholder.gif", Id = "OptionColorImageElement", DisableImageEngine = true, DisableLazyLoad = true }), 6279 Width = ModalWidth.Full 6280 }; 6281 6282 @Render(optionColorImage) 6283 } 6284 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6285 @using Dynamicweb.Core 6286 @using System 6287 @using System.Web 6288 @using System.Collections.Generic 6289 @using Dynamicweb.Rapido.Blocks 6290 @functions { 6291 BlocksPage productSnippetsPage = BlocksPage.GetBlockPage("Product"); 6292 } 6293 6294 @{ 6295 Block googleProductSchema = new Block() 6296 { 6297 Id = "GoogleProductSchema", 6298 SortId = 10, 6299 Template = RenderGoogleProductSchema() 6300 }; 6301 6302 productSnippetsPage.Add("Snippets", googleProductSchema); 6303 } 6304 6305 @helper RenderGoogleProductSchema() 6306 { 6307 var siteURL = Dynamicweb.Context.Current.Request.Url.Scheme + "://" + Dynamicweb.Context.Current.Request.Url.Host; 6308 var image = GetProductImage(); 6309 var brand = GetString("Ecom:Product:Field.brand.Value"); 6310 var variantid = !string.IsNullOrEmpty(GetString("Ecom:Product.VariantID")) ? GetString("Ecom:Product.VariantID") : GetString("Ecom:Product.VariantID.Extented"); 6311 var url = Dynamicweb.Context.Current.Request.Url.Scheme + "://" + GetGlobalValue("Global:Request.Host") + Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetString("Ecom:Product.LinkGroup.Clean") + (!string.IsNullOrWhiteSpace(variantid) ? "&VariantID=" + variantid : "")); 6312 6313 <script type="application/ld+json"> 6314 { 6315 "@@context": "http://schema.org/", 6316 "@@type": "Product", 6317 "name": "@GetString("Ecom:Product.Name")", 6318 @if (!string.IsNullOrEmpty(image)) 6319 { 6320 <text>"image": [ 6321 "@siteURL/Admin/Public/GetImage.ashx?width=400&height=400&crop=0&Compression=75&DoNotUpscale=true&image=@image", 6322 "@siteURL/Admin/Public/GetImage.ashx?width=400&height=300&crop=0&Compression=75&DoNotUpscale=true&image=@image", 6323 "@siteURL/Admin/Public/GetImage.ashx?width=448&height=225&crop=0&Compression=75&DoNotUpscale=true&image=@image" 6324 ],</text> 6325 } 6326 "description": "@GetString("Ecom:Product.ShortDescription")", 6327 "mpn": "925872", 6328 @if (!string.IsNullOrEmpty(brand)) 6329 { 6330 <text>"brand": { 6331 "@@type": "Thing", 6332 "name": "@brand" 6333 },</text> 6334 } 6335 "offers": { 6336 "@@type": "Offer", 6337 "priceCurrency": "@GetString("Ecom:Product.Price.Currency.Code")", 6338 "price": "@GetString("Ecom:Product.Price.Price")", 6339 "availability": "@(GetInteger("Ecom:Product.Stock") > 0 ? "InStock" : "OutOfStock")", 6340 "url": "@url" 6341 } 6342 } 6343 </script> 6344 } 6345 6346 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6347 6348 @using Dynamicweb.Rapido.Blocks 6349 6350 @functions { 6351 BlocksPage snippetsTemplatesPage = BlocksPage.GetBlockPage("Product"); 6352 } 6353 6354 @{ 6355 snippetsTemplatesPage.Add(new Block { 6356 Id = "FavoritesTemplates", 6357 SortId = 100, 6358 Template = RenderFavoritesTemplates() 6359 }); 6360 } 6361 6362 @helper RenderFavoritesTemplates() 6363 { 6364 var useFontAwesomePro = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetBoolean("UseFontAwesomePro"); 6365 var selectedFavoriteIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("FavoriteIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("FavoriteIcon").SelectedValue : "star"; 6366 string favoriteIcon = "fas fa-" + selectedFavoriteIcon; 6367 string favoriteOutlineIcon = (useFontAwesomePro ? "fal" : "far") + " fa-" + selectedFavoriteIcon; 6368 bool useFacebookPixel = !string.IsNullOrEmpty(Pageview.AreaSettings.GetItem("Settings").GetString("FacebookPixelID")); 6369 string currentFavoriteListId = HttpContext.Current.Request.QueryString.Get("ListID"); 6370 6371 <script id="FavoriteTemplate" type="text/x-template"> 6372 <div class="favorites-list u-ta-left js-favorites-list"> 6373 @Render(new Button { 6374 CssClass = "u-no-margin js-favorite-btn", 6375 Icon = new Icon 6376 { 6377 Name = "{{#if isInAnyFavoriteList}}" + favoriteIcon + "{{else}}" + favoriteOutlineIcon + "{{/if}}", 6378 CssClass = "fa-1_5x", 6379 LabelPosition = IconLabelPosition.After 6380 }, 6381 ButtonLayout = ButtonLayout.LinkClean, 6382 ButtonType = ButtonType.Button, 6383 OnClick = "document.getElementById('FavoriteTrigger_{{id}}').checked = true" 6384 }) 6385 <input type="checkbox" id="FavoriteTrigger_{{id}}" class="dropdown-trigger" /> 6386 <div class="dropdown dropdown--position-32px"> 6387 <div class="dropdown__content dropdown__content--show-left dropdown__content--padding u-w220px dw-mod"> 6388 <ul class="list list--clean dw-mod"> 6389 {{#FavoriteLists}} 6390 {{>FavoriteListItem}} 6391 {{/FavoriteLists}} 6392 </ul> 6393 </div> 6394 <label class="dropdown-trigger-off" for="FavoriteTrigger_{{id}}"></label> 6395 </div> 6396 </div> 6397 </script> 6398 6399 <script id="FavoriteListItem" type="text/x-template"> 6400 <li> 6401 @{ 6402 var button = new Button { 6403 CssClass = "list__link u-no-underline", 6404 OnClick = "toggleFavAction(this, event)", 6405 Icon = new Icon { Name = "{{#if isInFavoriteList}}" + favoriteIcon + "{{else}}" + favoriteOutlineIcon + "{{/if}}", LabelPosition = IconLabelPosition.After }, 6406 AltText = "{{#if isInFavoriteList}}" + Translate("Remove from") + " {{name}}{{else}}" + Translate("Add to") + " {{name}}{{/if}}", 6407 Title = "{{name}}", 6408 ButtonType = ButtonType.Button, 6409 ButtonLayout = ButtonLayout.LinkClean, 6410 ExtraAttributes = new Dictionary<string, string> 6411 { 6412 { "data-list-id", "{{listId}}" }, 6413 { "data-list-name", "{{name}}" }, 6414 { "data-remove-link", "{{removeLink}}" }, 6415 { "data-add-link", "{{addLink}}" }, 6416 { "data-is-in-list", "{{isInFavoriteList}}" }, 6417 6418 } 6419 }; 6420 if (useFacebookPixel) 6421 { 6422 button.ExtraAttributes.Add("data-facebook-object", "{{facebookPixelAddAction}}"); 6423 } 6424 } 6425 <div class="grid__cell"> 6426 @Render(button) 6427 </div> 6428 </li> 6429 </script> 6430 6431 <script> 6432 @if (!string.IsNullOrEmpty(currentFavoriteListId)) 6433 { 6434 <text> 6435 window.currentFavoriteListId = "@currentFavoriteListId"; 6436 </text> 6437 } 6438 function toggleFavAction(button, event) { 6439 if (button.getAttribute('data-add-link').indexOf('CCCreateNewList') > -1) { 6440 Scroll.SavePosition(event); 6441 @if (useFacebookPixel) 6442 { 6443 <text> 6444 fbq('track', 'AddToWishlist', JSON.parse(button.getAttribute('data-facebook-object'))); 6445 </text> 6446 } 6447 location.href = button.getAttribute('data-add-link'); 6448 return; 6449 } 6450 let isAdd = button.getAttribute('data-is-in-list') == "false"; 6451 Request.Fetch().get( 6452 isAdd ? button.getAttribute('data-add-link') : button.getAttribute('data-remove-link'), 6453 function (result) { 6454 button.querySelector('i').className = isAdd ? '@favoriteIcon u-margin-right--lg' : '@favoriteOutlineIcon u-margin-right--lg'; 6455 button.setAttribute('data-is-in-list', isAdd); 6456 button.setAttribute('title', (!isAdd ? '@Translate("Add to") ' : '@Translate("Remove from") ') + button.getAttribute('data-list-name')) 6457 let favList = button.closest('.js-favorites-list'); 6458 let favBtn = favList.querySelector('.js-favorite-btn i'); 6459 let isInAnyFavoriteList = favList.querySelector('[data-is-in-list=true]') != null; 6460 if (isInAnyFavoriteList) { 6461 favBtn.className = '@favoriteIcon' + ' fa-1_5x'; 6462 } else { 6463 favBtn.className = '@favoriteOutlineIcon' + ' fa-1_5x'; 6464 } 6465 @if (useFacebookPixel) 6466 { 6467 <text> 6468 if (isAdd) { 6469 fbq('track', 'AddToWishlist', JSON.parse(button.getAttribute('data-facebook-object'))); 6470 } 6471 </text> 6472 } 6473 if (window.currentFavoriteListId != null) { //if this page is favorite list 6474 let listId = button.getAttribute("data-list-id"); 6475 if (listId == window.currentFavoriteListId && !isAdd) { 6476 location.reload(); 6477 } 6478 } 6479 }, 6480 function () { 6481 console.error("FavoriteLists: Error in ToggleFavAction request"); 6482 }, 6483 false 6484 ); 6485 } 6486 </script> 6487 } 6488 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6489 @using Dynamicweb.Core 6490 @using System 6491 @using System.Web 6492 @using System.Collections.Generic 6493 @using System.Linq 6494 @using Dna.Kiesler 6495 @using Dynamicweb.Ecommerce.Products 6496 @using Dynamicweb.Rapido.Blocks 6497 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 6498 @using Dynamicweb.Rapido.Blocks.Components.General 6499 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6500 @using Dynamicweb.Rapido.Blocks 6501 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6502 @using Dynamicweb.Core 6503 @using System.Linq 6504 @using System.Collections.Generic 6505 @using Dynamicweb.Rapido.Blocks 6506 @using Dynamicweb.Rapido.Blocks.Components.General 6507 @using Dynamicweb.Rapido.Blocks.Extensibility 6508 @{ 6509 List<LoopItem> loopProdPrices = GetLoop("Product.Prices").OrderBy(x => x.GetInteger("Ecom:Product.Prices.Quantity")).ThenBy(x => x.GetInteger("Ecom:Product.Prices.AmountWithVATFormatted")).GroupBy(x => x.GetInteger("Ecom:Product.Prices.Quantity")).Select(x => x.First()).ToList(); 6510 int loopProdPricesCount = loopProdPrices.Count; 6511 6512 // Block is called only if ProductType is Stock item (0), ShowQuantityPricingTable is set to true, and loop prices has more than one record. 6513 if (GetInteger("Ecom:Product.Type") == 0 && Pageview.AreaSettings.GetItem("Rizzo").GetBoolean("ShowQuantityPricingTable") && loopProdPricesCount > 1) 6514 { 6515 BlocksPage.GetBlockPage("Product").Add(ProductBlockId.MainInformation, new Block() 6516 { 6517 Id = "QuantityPrices", 6518 SortId = 40, 6519 Template = RizzoRenderQuantityPrices(loopProdPrices, loopProdPricesCount), 6520 Design = new Design 6521 { 6522 Size = "12", 6523 RenderType = RenderType.Column, 6524 HidePadding = true 6525 }, 6526 }); 6527 } 6528 } 6529 6530 @helper RizzoRenderQuantityPrices(List<LoopItem> loopProdPrices, int loopProdPricesCount) 6531 { 6532 string quantityPricesFormat = Pageview.AreaSettings.GetItem("Rizzo").GetList("QuantityPricesFormat").SelectedValue; 6533 string qtyPrefix = Translate("Qty"); 6534 string greaterThanText = Pageview.AreaSettings.GetItem("Rizzo").GetString("QuantityPricesGreaterThanText").IsNotNullOrEmpty() ? Pageview.AreaSettings.GetItem("Rizzo").GetString("QuantityPricesGreaterThanText") : Translate(" or more"); 6535 int count = 1; 6536 var quantityPriceTable = new Table {Design = TableDesign.NoTopBorder}; 6537 6538 <div class="center-container dw-mod"> 6539 <div class="grid grid--external-bleed-x u-margin-bottom--lg"> 6540 <div class="grid__col-md-12 grid__col-sm-12 grid__col-xs-12"> 6541 @foreach (var price in loopProdPrices) 6542 { 6543 int quantity = price.GetInteger("Ecom:Product.Prices.Quantity").Equals(0) ? 1 : price.GetInteger("Ecom:Product.Prices.Quantity"); 6544 string priceProd = price.GetString("Ecom:Product.Prices.PriceWithoutVATFormatted"); 6545 string priceQtyLabel; 6546 6547 switch (quantityPricesFormat) 6548 { 6549 case "GreaterThanSymbol": 6550 priceQtyLabel = string.Concat(qtyPrefix, " ", "&#x2265", " ", quantity); 6551 break; 6552 case "Range": 6553 var nextQty = count < loopProdPricesCount ? loopProdPrices[count].GetInteger("Ecom:Product.Prices.Quantity") : loopProdPrices[count - 1].GetInteger("Ecom:Product.Prices.Quantity"); 6554 priceQtyLabel = quantity == nextQty - 1 ? string.Concat(qtyPrefix, " ", quantity) : quantity != nextQty ? string.Concat(qtyPrefix, " ", quantity, " - ", nextQty - 1) : string.Concat(qtyPrefix, " ", quantity, " ", greaterThanText); 6555 break; 6556 default: 6557 priceQtyLabel = string.Concat(qtyPrefix, " ", quantity, " ", greaterThanText); 6558 break; 6559 } 6560 6561 quantityPriceTable.Rows.Add(new TableRow( 6562 new TableCell {Content = priceQtyLabel, IsHeader = true}, 6563 new TableCell {Content = priceProd} 6564 )); 6565 6566 count++; 6567 } 6568 @Render(quantityPriceTable) 6569 </div> 6570 </div> 6571 </div> 6572 } 6573 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6574 @using Dynamicweb.Rapido.Blocks 6575 @using Dynamicweb.Rapido.Blocks.Components.General 6576 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6577 @using Dynamicweb.Rapido.Blocks 6578 @using Dynamicweb.Rapido.Blocks.Components.General 6579 @functions { 6580 6581 static Modal stockValidationWarningModal = new Modal 6582 { 6583 Id = "StockValidationWarning", 6584 Width = ModalWidth.Lg 6585 }; 6586 private static Block GetStockValidationModal() 6587 { 6588 return new Block 6589 { 6590 Id = "StockValidationWarningModal", 6591 SortId = 1, 6592 Component = stockValidationWarningModal 6593 }; 6594 } 6595 6596 } 6597 @{ 6598 stockValidationWarningModal.Heading = new Heading {Title = Translate("Out of stock")}; 6599 stockValidationWarningModal.BodyTemplate = RenderWarningWindow(); 6600 } 6601 6602 @helper RenderWarningWindow() 6603 { 6604 var orderNotFound = Translate("Order not found."); 6605 var unavailableProduct = Translate("{{ProductName}} ({{ProductNumber}}) is not available."); 6606 var insufficientStock = Translate("There are only {{AvailableAmount}} items in stock instead of the {{RequestedAmount}} you requested for {{ProductName}} ({{ProductNumber}})."); 6607 var insufficientStockSingular = Translate("There is only {{AvailableAmount}} item in stock instead of the {{RequestedAmount}} you requested for {{ProductName}} ({{ProductNumber}})."); 6608 var noMoreStock = Translate("There is no more available stock for {{ProductName}} ({{ProductNumber}})."); 6609 var missingVariantCombination = Translate("{{ProductName}} ({{ProductNumber}}) requires additional information before adding to the cart."); 6610 6611 <p id="stockValidationWarningMessage" data-order-not-found="@orderNotFound" data-unavailable-product="@unavailableProduct" data-insufficient-stock="@insufficientStock" data-insufficient-stock-singular="@insufficientStockSingular" data-no-more-stock="@noMoreStock" data-missing-variant-combination="@missingVariantCombination"></p> 6612 6613 @* Cannot use .Actions because of bug. Reported https://doc.dynamicweb.com/forum/templates/modal-component-duplicates-buttons?PID=1605 *@ 6614 // Oct 22: Still bugged 6615 <div class="u-ta-right"> 6616 @Render(new Button 6617 { 6618 ButtonLayout = ButtonLayout.Primary, 6619 CssClass = "u-margin-top", 6620 Id = "OkButton", 6621 Title = Translate("Ok"), 6622 OnClick = "toggleWindowModal(document.getElementById('StockValidationWarningModalTrigger'))", 6623 ExtraAttributes = 6624 { 6625 {"data-continue", Translate("Add items in stock")}, 6626 {"data-ok", Translate("Ok")} 6627 } 6628 }) 6629 6630 @Render(new Button 6631 { 6632 ButtonLayout = ButtonLayout.Secondary, 6633 CssClass = "u-margin-top u-hidden", 6634 Id = "CancelButton", 6635 Title = Translate("Cancel"), 6636 OnClick = "toggleWindowModal(document.getElementById('StockValidationWarningModalTrigger'))" 6637 }) 6638 </div> 6639 } 6640 @{ 6641 BlocksPage.GetBlockPage("Product").Add(GetStockValidationModal()); 6642 } 6643 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6644 @using Dynamicweb.Rapido.Blocks 6645 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> 6646 @using Dna.Kiesler.Components 6647 @using Dynamicweb.Rapido.Blocks.Components.Ecommerce 6648 @using Dynamicweb.Rapido.Blocks.Components.General 6649 @functions 6650 { 6651 public AddToCartWithQuote GetAddToCartWithQuoteButton(bool hideButtonText, bool pointShopOnly, string wrapperClass = "") 6652 { 6653 return new AddToCartWithQuote 6654 { 6655 WrapperCssClass = wrapperClass, 6656 AddButton = new AddToCartButton //Add to cart button 6657 { 6658 HideTitle = hideButtonText, 6659 ProductId = "{{productId}}", 6660 VariantId = "{{variantid}}", 6661 UnitId = "{{unitId}}", 6662 ProductInfo = "{{productInfo}}", 6663 BuyForPoints = pointShopOnly, 6664 OnClick = "{{facebookPixelAction}}", 6665 ExtraAttributes = {{"{{disabledBuyButton}}", ""}}, 6666 CssClass = "{{#unless isAddToCart}}u-hidden{{/unless}}" 6667 }, 6668 UnitSelector = new UnitSelector //Unit Selector 6669 { 6670 OptionsContent = "{{#unitOptions}}{{>UnitOption}}{{/unitOptions}}", 6671 Id = "UnitOptions_{{id}}", 6672 SelectedOption = "{{unitName}}", 6673 CssClass = "{{#if hasOnlyOneUnit}}unit-selector--readonly{{/if}} {{hasUnits}} {{#unless isAddToCart}}u-hidden{{/unless}}" 6674 }, 6675 AddToQuoteButton = new AddToCartButtonWithCartContext //Add to quote button 6676 { 6677 HideTitle = hideButtonText, 6678 ProductId = "{{productId}}", 6679 VariantId = "{{variantid}}", 6680 UnitId = "{{unitId}}", 6681 ProductInfo = "{{productInfo}}", 6682 BuyForPoints = pointShopOnly, 6683 OnClick = "{{facebookPixelAction}}", 6684 ExtraAttributes = {{"{{disabledBuyButton}}", ""}}, 6685 Title = Translate("Add to quote"), 6686 CssClass = "{{#unless isQuotable}}u-hidden{{/unless}}", 6687 Icon = new Icon { Prefix = "far", Name = "fa-shopping-bag", LabelPosition = IconLabelPosition.After}, 6688 CartContextId = Pageview.AreaSettings.GetItem("Custom").GetList("QuoteOrderContextID").SelectedValue, 6689 CartId = GetPageIdByNavigationTag("QuotesMiniCartFeed").ToString(), 6690 CartContainerId = "quotesMiniCart" 6691 }, 6692 ExtraButton = new Button //Email/Call to order button 6693 { 6694 Title = hideButtonText ? "" : Translate("Call to order"), 6695 Icon = new Icon { Prefix = "far", Name = Translate("callToOrderIcon", "fa-phone"), LabelPosition = IconLabelPosition.After }, 6696 ButtonLayout = ButtonLayout.Primary, 6697 ButtonType = ButtonType.Button, 6698 CssClass = "btn--condensed {{#unless isCallToOrder}}u-hidden{{/unless}}", 6699 ConfirmText = Pageview.User != null ? Translate("Call Kiesler at ###-###-#### to inquire about ordering") : "", 6700 ConfirmTitle = Pageview.User != null ? Translate("Call to order") : "", 6701 Href = Pageview.User != null ? "javascript:void(0);" : Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(GetPageIdByNavigationTag("CreateAccount")) 6702 } 6703 }; 6704 } 6705 } 6706 6707 6708 @{ 6709 BlocksPage customProductBlocks = BlocksPage.GetBlockPage("Product"); 6710 6711 if (customProductBlocks.GetBlockById("Buy") != null) 6712 { 6713 customProductBlocks.GetBlockById("Buy").Template = RenderMainInfoBuyCustom(); 6714 } 6715 6716 if (customProductBlocks.GetBlockById("VariantListScripts") != null) 6717 { 6718 customProductBlocks.GetBlockById("VariantListScripts").Template = RenderVariantListScriptsCustom(); 6719 } 6720 } 6721 6722 @helper RenderMainInfoBuyCustom() 6723 { 6724 string pageId = GetGlobalValue("Global:Page.ID").ToString(); 6725 string variantId = HttpContext.Current.Request.QueryString.Get("variantId"); 6726 string productId = GetString("Ecom:Product.ID"); 6727 string feedId = pageId + "&ProductID=" + productId + "&VariantID=" + variantId + "&Feed=True&redirect=false"; 6728 6729 <div class="product__price-actions js-handlebars-root dw-mod" id="PriceAndActions" data-template="PricesAndActionsTemplate" data-json-feed="/Default.aspx?ID=@feedId" data-preloader="minimal"></div> 6730 <input type="hidden" value="@GetString("Ecom:Product.VariantID.Extented")" name="Variant" id="Variant_@GetString("Ecom:Product.ID")" /> 6731 6732 // START CUSTOM CODE: Replacing Rapido template to custom template 6733 @RenderMainInfoBuyScriptsCustom() 6734 // END CUSTOM CODE 6735 } 6736 6737 @helper RenderMainInfoBuyScriptsCustom() 6738 { 6739 bool showPrice = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HidePrice"); 6740 bool showCartButton = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideAddToCartButton"); 6741 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 6742 string variantId = HttpContext.Current.Request.QueryString.Get("variantId") ?? ""; 6743 string feedId = GetGlobalValue("Global:Page.ID").ToString() + "&ProductID=" + GetString("Ecom:Product.ID") + "&VariantID=" + variantId + "&Feed=True&redirect=false"; 6744 string cartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 6745 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("ShowBothPricesWithWithoutVAT"); 6746 bool isPricesWithVATEnabled = Converter.ToBoolean(Pageview.Area.EcomPricesWithVat); 6747 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 6748 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 6749 6750 @* Handlebars templates *@ 6751 <script id="PricesAndActionsTemplate" type="text/x-template"> 6752 {{#.}} 6753 {{#if isLiveProductInfoActive}} 6754 {{#unless isLiveProductInfoRequested}} 6755 {{getLiveProductInfo 'PriceAndActions'}} 6756 {{/unless}} 6757 {{/if}} 6758 6759 @*START CUSTOM CODE*@ 6760 @if (Dna.Kiesler.Users.IsPricesAllowed()) 6761 { 6762 <div class="product__price-wrap dw-mod"> 6763 @RenderPriceInfoCustom() 6764 </div> 6765 } 6766 @*END CUSTOM CODE*@ 6767 6768 @*START CUSTOM CODE*@ 6769 @if (showCartButton) 6770 { 6771 //Replacing AddToCart component with AddToCartWithQuote component 6772 var addToCartBtn = GetAddToCartWithQuoteButton(false, pointShopOnly, "product__price-actions-flex-wrap buttons-collection--right dw-mod"); 6773 //END CUSTOM CODE 6774 6775 if (!pointShopOnly) 6776 { 6777 addToCartBtn.QuantitySelector = new QuantitySelector 6778 { 6779 Id = "Quantity_{{id}}", 6780 CssClass = "{{#unless isAddToCart}}u-hidden{{/unless}}" 6781 }; 6782 } 6783 6784 <div class="product__price-actions-wrap dw-mod"> 6785 @Render(addToCartBtn) 6786 6787 @if (Pageview.User != null && !pointShopOnly && Dynamicweb.Security.Licensing.LicenseManager.LicenseHasFeature("LoyaltyPoints")) 6788 { 6789 <text> 6790 {{#if canBePurchasedWithPoints}} 6791 <form method="post" role="form" class="u-no-margin u-margin-top"> 6792 <input type="hidden" name="ProductID" value="{{id}}" /> 6793 <button type="submit" class="btn btn--loyalty-points product__price-points-buy-button u-no-margin dw-mod pull-right u-no-margin js-cart-btn {{disabledBuyButton}}" name="CartCmd" value="addWithPoints">@Translate("Buy for") {{points}} @Translate("points")</button> 6794 </form> 6795 {{/if}} 6796 </text> 6797 } 6798 </div> 6799 } 6800 else 6801 { 6802 <button type="button" id="CartButton_{{id}}" class="u-hidden"></button> 6803 } 6804 @RenderStockAndShipping() 6805 {{/.}} 6806 </script> 6807 6808 <script id="UnitOption" type="text/x-template"> 6809 <div class="dropdown__item dw-mod" onclick="HandlebarsBolt.UpdateContent('PriceAndActions', '{{link}}&feed=true&UnitID={{value}}@liveProductInfoParameter')">{{name}}</div> 6810 </script> 6811 6812 <script> 6813 document.addEventListener("DOMContentLoaded", function () { 6814 if (document.getElementById("PriceAndActions")) { 6815 document.getElementById("PriceAndActions").addEventListener("contentLoaded", function (event) { 6816 if (document.querySelector(".js-variants") != null) { 6817 MatchVariants.Update(document.querySelector(".js-variants"), "DoNothing"); 6818 } 6819 }); 6820 } 6821 }); 6822 </script> 6823 } 6824 6825 @helper RenderVariantListScriptsCustom() 6826 { 6827 bool showProductNumberForVariants = !Converter.ToBoolean(variantListSettings["HideProductNumbers"]); 6828 bool showImageForEachVariant = !Converter.ToBoolean(variantListSettings["HideImage"]); 6829 bool variantsPointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 6830 string variantsListPageSize = HttpContext.Current.Request.QueryString.Get("PageSize") ?? "30"; 6831 string variantsFeedUrl = "/Default.aspx?ID=" + GetPageIdByNavigationTag("ProductsPage") + "&PageSize=" + variantsListPageSize + "&MainProductID=" + GetString("Ecom:Product.ID") + "&OnlyShowVariants=true&feed=true"; 6832 string variantsCartIcon = Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon") != null ? Pageview.AreaSettings.GetItem("Layout").GetItem("Icons").GetList("CartIcon").SelectedValue : "fas fa-shopping-cart"; 6833 bool isLiveProductInfoActive = Converter.ToBoolean(GetGlobalValue("Global:LiveIntegration.IsLazyLoadingForProductInfoEnabled")); 6834 string liveProductInfoParameter = isLiveProductInfoActive ? "&getproductinfo=true" : string.Empty; 6835 6836 <script id="VariantProductsContainer" type="text/x-template"> 6837 {{#.}} 6838 <div> 6839 <table id="VariantsProductsContainer" class="table u-position-relative dw-mod"> 6840 <thead> 6841 <tr> 6842 @if (showImageForEachVariant) 6843 { 6844 <td width="75">&nbsp;</td> 6845 } 6846 <td>@Translate("Product")</td> 6847 {{#AvailableCustomFields}} 6848 {{>TableFieldNameTemplate}} 6849 {{/AvailableCustomFields}} 6850 @if (Converter.ToBoolean(variantListSettings["RenderVariantGroupsInTable"])) { 6851 foreach (LoopItem variantgroup in GetLoop("VariantGroups")) 6852 { 6853 <td>@variantgroup.GetString("Ecom:VariantGroup.Name")</td> 6854 } 6855 } 6856 <td>&nbsp;</td> 6857 </tr> 6858 </thead> 6859 6860 <tbody id="VariantProductListContainer" data-template="VariantProductItemContainer" data-save-cookie="true"> 6861 {{#ProductsContainer}} 6862 {{>VariantProductItemContainer}} 6863 {{/ProductsContainer}} 6864 </tbody> 6865 </table> 6866 </div> 6867 6868 <div class="grid"> 6869 <div class="grid__col-12 grid__col--bleed-y"> 6870 @{ 6871 Button moreButton = new Button { Id = "LoadMoreButton", ButtonLayout = ButtonLayout.Primary, CssClass = "btn--full {{nextdisabled}}", Title = Translate("Load") + " " + Translate("more"), OnClick = "LoadMore.Next(this)" }; 6872 moreButton.ExtraAttributes.Add("data-current", "{{currentPage}}"); 6873 moreButton.ExtraAttributes.Add("data-page-size", "{{pageSize}}"); 6874 moreButton.ExtraAttributes.Add("data-total", "{{totalPages}}"); 6875 moreButton.ExtraAttributes.Add("data-container", "VariantProductListContainer"); 6876 moreButton.ExtraAttributes.Add("data-feed-url", variantsFeedUrl + "{{loadMoreFeedParams}}"); 6877 moreButton.ExtraAttributes.Add("", "{{nextdisabled}}"); 6878 } 6879 @Render(moreButton) 6880 </div> 6881 </div> 6882 {{/.}} 6883 </script> 6884 6885 <script id="VariantProductItemContainer" type="text/x-template"> 6886 {{#.}} 6887 <tr id="VariantProduct{{id}}" class="js-product" data-template="VariantProductItem" data-preloader="overlay" style="z-index: {{zIndex}}"> 6888 {{#Product}} 6889 {{>VariantProductItem}} 6890 {{/Product}} 6891 </tr> 6892 {{/.}} 6893 </script> 6894 6895 <script id="VariantProductItem" type="text/x-template"> 6896 {{#.}} 6897 @if (showImageForEachVariant) 6898 { 6899 <td width="75"> 6900 <div class="lightbox u-hidden-xxs"> 6901 <a href="{{link}}" onclick="Scroll.SavePosition(event)" title="{{name}}{{#if variantName}}, {{variantName}}{{/if}}"> 6902 <img class="lightbox__image {{noImage}}" src="/Admin/Public/GetImage.ashx?width=220&amp;height=220&amp;crop=5&amp;Compression=75&amp;image={{image}}" alt="{{name}}{{#if variantName}}, {{variantName}}{{/if}}" /> 6903 <div class="u-margin-right {{noImage}}"> 6904 <img src="/Admin/Public/GetImage.ashx?width=75&amp;height=55&amp;crop=5&FillCanvas=true&amp;Compression=75&amp;image={{image}}" alt="{{name}}{{#if variantName}}, {{variantName}}{{/if}}" /> 6905 </div> 6906 </a> 6907 </div> 6908 </td> 6909 } 6910 6911 <td class="u-va-middle"> 6912 <a href="{{link}}" onclick="Scroll.SavePosition(event)" title="{{name}}{{#if variantName}}, {{variantName}}{{/if}}"> 6913 <h6 class="u-no-margin">{{name}}{{#if variantName}}, {{variantName}}{{/if}}</h6> 6914 </a> 6915 @if (showProductNumberForVariants) 6916 { 6917 <div class="item-number item-number--compressed u-margin-bottom dw-mod"> 6918 <div>{{number}}</div> 6919 </div> 6920 } 6921 @if (User.IsStockInfoAllowed()) 6922 { 6923 <text>{{#if stockText}}</text> 6924 <div class="item-number item-number--compressed dw-mod"> 6925 <span> 6926 <span class="stock-icon {{stockState}} u-no-margin dw-mod" title="{{stockText}}"></span> 6927 <span class="u-margin-right--lg"> {{stockText}}</span> 6928 {{deliveryText}} 6929 </span> 6930 </div> 6931 <text>{{/if}}</text> 6932 } 6933 else 6934 { 6935 <div class="grid__cell-footer stickers-container stickers-container--block dw-mod"> 6936 {{#Stickers}} 6937 {{>MiniSticker}} 6938 {{/Stickers}} 6939 </div> 6940 } 6941 </td> 6942 {{#CustomFields}} 6943 {{>TableFieldValueTemplate}} 6944 {{/CustomFields}} 6945 @if (Converter.ToBoolean(variantListSettings["RenderVariantGroupsInTable"])) 6946 { 6947 <text> 6948 {{#VariantSelectionNames}} 6949 {{>TableFieldNameTemplate}} 6950 {{/VariantSelectionNames}} 6951 </text> 6952 } 6953 <td class="u-va-middle"> 6954 @*START CUSTOM CODE*@ 6955 @if (Dna.Kiesler.Users.IsPricesAllowed() && !Dna.Kiesler.Users.IsBuyingAllowed()) 6956 { 6957 @*END CUSTOM CODE*@ 6958 <div class="u-hidden-sm"> 6959 <div class="u-full-width u-ta-right u-padding-right"> 6960 <div class="before-price {{onSale}} before-price--micro dw-mod">{{discount}}</div> 6961 <div class="price price--product-list price--micro dw-mod">{{price}}</div> 6962 </div> 6963 </div> 6964 } 6965 6966 <div class="grid grid--align-center grid--justify-end"> 6967 <div class="u-margin-right u-hidden-xs u-hidden-xxs"> 6968 @if (variantsPointShopOnly) 6969 { 6970 <text> 6971 {{#if canBePurchasedWithPoints}} 6972 <div class="price price--product-list price--micro dw-mod">{{points}} @Translate("points")</div> 6973 {{else}} 6974 {{#if havePointPrice}} 6975 <small class="help-text u-no-margin u-margin-top">@Translate("Not enough points to buy this")</small> 6976 {{else}} 6977 <small class="help-text u-no-margin u-margin-top">@Translate("Not available")</small> 6978 {{/if}} 6979 {{/if}} 6980 </text> 6981 } 6982 @*START CUSTOM CODE*@ 6983 else if (Dna.Kiesler.Users.IsPricesAllowed()) 6984 { 6985 @*END CUSTOM CODE*@ 6986 <div class="before-price before-price--micro {{onSale}} dw-mod">{{discount}}</div> 6987 <div class="price price--condensed price--product-list dw-mod">{{price}}</div> 6988 } 6989 </div> 6990 6991 @*START CUSTOM CODE*@ 6992 @{ 6993 //Replacing AddToCart component with AddToCartWithQuote component for variants 6994 var addToCartBtn = GetAddToCartWithQuoteButton(true, variantsPointShopOnly, "product__price-actions-flex-wrap buttons-collection--right dw-mod"); 6995 addToCartBtn.UnitSelector = new UnitSelector 6996 { 6997 OptionsContent = "{{#unitOptions}}{{>VariantUnitOption}}{{/unitOptions}}", 6998 Id = "UnitOptions_{{id}}", 6999 SelectedOption = "{{unitName}}", 7000 CssClass = "{{hasUnits}}" 7001 }; 7002 //END CUSTOM CODE 7003 7004 if (!variantsPointShopOnly) 7005 { 7006 addToCartBtn.QuantitySelector = new QuantitySelector 7007 { 7008 Id = "Quantity_{{id}}", 7009 CssClass = "{{#unless isAddToCart}}u-hidden{{/unless}}" 7010 }; 7011 } 7012 7013 <div class="grid__cell u-flex-grow--0"> 7014 @Render(addToCartBtn) 7015 </div> 7016 } 7017 <div class="favorites u-margin-left dw-mod"> 7018 {{#Favorite}} 7019 {{>FavoriteTemplate}} 7020 {{/Favorite}} 7021 </div> 7022 </div> 7023 </td> 7024 {{/.}} 7025 </script> 7026 7027 <script id="TableFieldNameTemplate" type="text/x-template"> 7028 <td class="u-va-middle">{{name}}</td> 7029 </script> 7030 7031 <script id="TableFieldValueTemplate" type="text/x-template"> 7032 <td class="u-va-middle">{{value}}</td> 7033 </script> 7034 7035 <script id="MiniSticker" type="text/x-template"> 7036 <div class="stickers-container__tag stickers-container__tag--micro {{CssClass}} dw-mod">{{Title}}</div> 7037 </script> 7038 7039 <script id="VariantUnitOption" type="text/x-template"> 7040 <div class="dropdown__item dw-mod" onclick="HandlebarsBolt.UpdateContent(this.closest('.js-product').id, '{{link}}&feed=true&UnitID={{value}}@liveProductInfoParameter')">{{name}}</div> 7041 </script> 7042 } 7043 7044 @helper RenderPriceInfoCustom() { 7045 bool pointShopOnly = Pageview.AreaSettings.GetItem("Ecommerce").GetBoolean("PointShopOnly"); 7046 bool showPrice = !Pageview.AreaSettings.GetItem("ProductList").GetBoolean("HidePrice"); 7047 bool showCartButton = !Pageview.AreaSettings.GetItem("ProductPage").GetBoolean("HideAddToCartButton"); 7048 bool showVATPrice = Pageview.AreaSettings.GetItem("ProductList").GetBoolean("ShowBothPricesWithWithoutVAT"); 7049 bool isPricesWithVATEnabled = Converter.ToBoolean(Pageview.Area.EcomPricesWithVat); 7050 7051 if (showPrice && Dynamicweb.Rapido.Services.User.IsPricesAllowed()) 7052 { 7053 if (pointShopOnly) 7054 { 7055 <text> 7056 {{#if havePointPrice}} 7057 <div class="price price--product-page dw-mod">{{points}} @Translate("points")</div> 7058 @if (showCartButton) 7059 { 7060 <text> 7061 {{#unless canBePurchasedWithPoints}} 7062 <small class="help-text u-no-margin">@Translate("Not enough points to buy this")</small> 7063 {{/unless}} 7064 </text> 7065 } 7066 {{else}} 7067 @Translate("Not available") 7068 {{/if}} 7069 </text> 7070 7071 } 7072 else 7073 { 7074 /*START CUSTOM CODE*/ 7075 <text> 7076 {{#unless hidePrice}} 7077 <div class="price price--product-page dw-mod">{{price}}</div> 7078 <div class="before-price {{onSale}} dw-mod">{{discount}}</div> 7079 @if (showVATPrice) 7080 { 7081 <div class="vat-price vat-price--product-page u-margin-top dw-mod"> 7082 @if (isPricesWithVATEnabled) 7083 { 7084 <span>@Translate("excl. VAT")</span> 7085 <span> ({{priceWithoutVAT}})</span> 7086 } 7087 else 7088 { 7089 <span>@Translate("incl. VAT")</span> 7090 <span> ({{priceWithVAT}})</span> 7091 } 7092 </div> 7093 } 7094 7095 <text> 7096 {{#if priceRRP}} 7097 <div><small>@Translate("RRP") {{priceRRP}}</small></div> 7098 {{/if}} 7099 </text> 7100 {{/unless}} 7101 </text> 7102 /*END CUSTOM CODE*/ 7103 } 7104 } 7105 } 7106 7107 7108 <div class="product__info dw-mod u-margin-bottom--lg js-product"> 7109 <div class="grid grid--align-content-start"> 7110 @* The @RenderBlockList base helper is included in Components/GridBuilder.cshtml *@ 7111 @RenderBlockList(productsPage.BlocksRoot.BlocksList) 7112 </div> 7113 </div> 7114 7115 @helper RenderProductTop() 7116 { 7117 List<Block> subBlocks = productsPage.GetBlockListById("Top").OrderBy(item => item.SortId).ToList(); 7118 7119 <div class="product__top paragraph-container paragraph-container--full-width dw-mod"> 7120 <div class="center-container dw-mod"> 7121 <div class="grid"> 7122 @RenderBlockList(subBlocks) 7123 </div> 7124 </div> 7125 </div> 7126 } 7127 7128 @helper RenderProductMiniTabs() 7129 { 7130 List<Block> subBlocks = productsPage.GetBlockListById("MiniTabs").OrderBy(item => item.SortId).ToList(); 7131 7132 if (subBlocks.Count > 0) 7133 { 7134 <div class="grid__col-12 product__info tabs u-no-padding u-margin-bottom--lg dw-mod"> 7135 @{ 7136 bool firstTab = true; 7137 foreach (Block item in subBlocks) 7138 { 7139 string isChecked = firstTab ? "checked" : ""; 7140 firstTab = false; 7141 7142 <input type="radio" class="tabs__trigger" name="productMiniTabs" id="@item.Id" onchange="bLazy.revalidate()" @isChecked /> 7143 } 7144 } 7145 7146 <div class="tabs__list dw-mod"> 7147 @foreach (Block item in subBlocks) 7148 { 7149 <label for="@item.Id" class="tabs__label dw-mod">@item.Name</label> 7150 } 7151 </div> 7152 7153 <div class="tabs__blocks dw-mod"> 7154 @foreach (Block item in subBlocks) 7155 { 7156 string hidePadding = item.Design.HidePadding ? "u-no-padding" : ""; 7157 7158 if (item.Design.RenderType != RenderType.Hide) 7159 { 7160 <div class="tabs__block u-border dw-mod" id="Block__@item.Id"> 7161 <block class="product__block paragraph-container product__block--bordered dw-mod"> 7162 <div class="center-container dw-mod"> 7163 @RenderBlock(item) 7164 </div> 7165 </block> 7166 </div> 7167 } 7168 } 7169 </div> 7170 </div> 7171 } 7172 } 7173 7174 @helper RenderProductTabs() 7175 { 7176 List<Block> subBlocks = productsPage.GetBlockListById("Tabs").OrderBy(item => item.SortId).ToList(); 7177 7178 if (Pageview.Device.ToString() != "Mobile") { 7179 <div class="grid__col-12 product__info product__info--tabs tabs dw-mod"> 7180 @{ 7181 bool firstTab = true; 7182 foreach (Block item in subBlocks) 7183 { 7184 string isChecked = firstTab ? "checked" : ""; 7185 firstTab = false; 7186 7187 <input type="radio" class="tabs__trigger" name="productTabs" id="@item.Id" onchange="bLazy.revalidate()" @isChecked /> 7188 } 7189 } 7190 7191 <div class="tabs__list dw-mod"> 7192 @foreach (Block item in subBlocks) 7193 { 7194 if (item.Design.RenderType != RenderType.Hide) 7195 { 7196 <label for="@item.Id" class="tabs__label dw-mod">@item.Name</label> 7197 } 7198 } 7199 </div> 7200 7201 <div class="tabs__blocks dw-mod"> 7202 @foreach (Block item in subBlocks) 7203 { 7204 if (item.Design.RenderType != RenderType.Hide) 7205 { 7206 <div class="tabs__block dw-mod" id="Block__@item.Id"> 7207 <section class="product__section paragraph-container paragraph-container--full-width product__section--bordered dw-mod"> 7208 <div class="center-container u-padding--lg dw-mod"> 7209 @RenderBlock(item) 7210 </div> 7211 </section> 7212 </div> 7213 } 7214 } 7215 </div> 7216 </div> 7217 } else { 7218 foreach (Block item in subBlocks) 7219 { 7220 if (item.Design.RenderType != RenderType.Hide) 7221 { 7222 <div class="center-container dw-mod"> 7223 <div class="padding-position-left padding-size-sm"> 7224 @Render(new Heading { Title = item.Name, Level = 2 }) 7225 </div> 7226 7227 @RenderBlock(item) 7228 </div> 7229 } 7230 } 7231 } 7232 }