├── README.md ├── 05_SPA_POS ├── assests │ ├── img │ │ └── load.gif │ ├── css │ │ ├── styles.css │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.min.css.map │ │ └── bootstrap-grid.min.css │ └── js │ │ └── bootstrap.min.js ├── db │ └── Database.js ├── 05_SPA_POS.iml ├── dto │ └── CustomerDTO.js ├── controller │ ├── DashboardController.js │ └── CustomerController.js └── index.html ├── 01_Core ├── assests │ └── js │ │ └── my_script.js ├── 01_Core.iml ├── index.html └── index1.html ├── 02_DOM_Manipulation ├── assests │ └── img │ │ └── image.jpg ├── 02_DOM_Manipulation.iml └── index.html ├── .idea ├── misc.xml ├── vcs.xml ├── .gitignore ├── modules.xml └── inspectionProfiles │ └── Project_Default.xml ├── Java_Script_Demo.iml ├── 06_JS-Events ├── 06_JS-Events.iml ├── index.html └── index2.html ├── 04_Traversing ├── 04_Traversing.iml └── index.html └── 03_DOM_ManipulationWithjQuery ├── 03_DOM_ManipulationWithjQuery.iml └── index.html /README.md: -------------------------------------------------------------------------------- 1 | "# Java-Script-Demo" 2 | -------------------------------------------------------------------------------- /05_SPA_POS/assests/img/load.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mindula-Dilthushan/Java-Script-Demo/HEAD/05_SPA_POS/assests/img/load.gif -------------------------------------------------------------------------------- /01_Core/assests/js/my_script.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author : Sanu Vithanage 3 | * @since : 0.0.1 4 | **/ 5 | 6 | 7 | alert("Hello Im from Sri Lanka"); 8 | -------------------------------------------------------------------------------- /02_DOM_Manipulation/assests/img/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mindula-Dilthushan/Java-Script-Demo/HEAD/02_DOM_Manipulation/assests/img/image.jpg -------------------------------------------------------------------------------- /05_SPA_POS/db/Database.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author : Sanu Vithanage 3 | * @since : 0.0.1 4 | **/ 5 | 6 | var customerDB= new Array(); 7 | var itemDB=new Array(); 8 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Datasource local storage ignored files 5 | /../../../../:\MyWorksSpace\Java_Script_Demo\.idea/dataSources/ 6 | /dataSources.local.xml 7 | # Editor-based HTTP Client requests 8 | /httpRequests/ 9 | -------------------------------------------------------------------------------- /01_Core/01_Core.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Java_Script_Demo.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05_SPA_POS/05_SPA_POS.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /06_JS-Events/06_JS-Events.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /04_Traversing/04_Traversing.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /02_DOM_Manipulation/02_DOM_Manipulation.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /03_DOM_ManipulationWithjQuery/03_DOM_ManipulationWithjQuery.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /05_SPA_POS/dto/CustomerDTO.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author : Sanu Vithanage 3 | * @since : 0.0.1 4 | **/ 5 | 6 | 7 | function Customer(id, name, address, salary) { 8 | var __id = id; 9 | var __name = name; 10 | var __address = address; 11 | var __salary = salary; 12 | 13 | this.getCustomerID = function () { 14 | return __id; 15 | } 16 | 17 | this.setCustomerID = function (newID) { 18 | __id = newID; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /06_JS-Events/index.html: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | JS Events 10 | 11 | 12 |

Hello JS Events..!

13 |

Global Events

14 | 15 | 16 | 17 | 18 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /01_Core/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | JavaScript 10 | 16 | 17 | 18 | 19 | 20 |

Hello JS

21 |

Java Script

22 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid laboriosam nemo provident repellat? Aliquam est ex 23 | qui quos? Accusantium eius enim, excepturi facere facilis harum inventore obcaecati officia unde veritatis.

24 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /05_SPA_POS/controller/DashboardController.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author : Sanu Vithanage 3 | * @since : 0.0.1 4 | **/ 5 | 6 | hideAll(); 7 | $("#dashboardContent").css('display', 'block'); 8 | $("#nav").text("Dashboard"); 9 | 10 | $('#lnkHome').click(function () { 11 | hideAll(); 12 | $("#dashboardContent").css('display', 'block'); 13 | $("#nav").text("Dashboard"); 14 | text = $('#nav').text(); 15 | }); 16 | 17 | 18 | $('#lnkCustomer').click(function () { 19 | $("#txtCustomerID").focus(); 20 | hideAll(); 21 | $("#customerContent").css('display', 'block'); 22 | $("#nav").text("Customer Manage"); 23 | text = $('#nav').text(); 24 | }); 25 | 26 | 27 | $("#lnkItem").click(function () { 28 | hideAll(); 29 | $("#itemContent").css('display', 'block'); 30 | $("#nav").text("Item Manage"); 31 | text = $('#nav').text(); 32 | }); 33 | 34 | $("#lnkOrders").click(function () { 35 | hideAll(); 36 | $("#orderContent").css('display', 'block'); 37 | $("#nav").text("Order Manage"); 38 | text = $('#nav').text(); 39 | 40 | 41 | }); 42 | 43 | function hideAll() { 44 | $("#dashboardContent,#customerContent,#itemContent,#orderContent").css('display', 'none'); 45 | } 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 35 | -------------------------------------------------------------------------------- /05_SPA_POS/assests/css/styles.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Titillium+Web'); 2 | @import url('https://fonts.googleapis.com/css?family=Anton'); 3 | 4 | *{ 5 | font-family: 'Titillium Web', sans-serif; 6 | } 7 | #title-text{ 8 | color: #1b5e20; 9 | font-size: 2em; 10 | } 11 | #title-text:hover{ 12 | color: #00695c; 13 | } 14 | 15 | #nav-bar-main{ 16 | z-index: 1; 17 | background-color: rgba(255,255,255,0.8); 18 | border-bottom: rgba(0,0,0,0.7) solid 3px; 19 | box-shadow: black 0 0 10px; 20 | } 21 | .card-header{ 22 | color: white !important; 23 | } 24 | .dash-tile-icon{ 25 | font-size: 4.5em; 26 | } 27 | /**/ 28 | section.mainTitle label:first-child{ 29 | font-size: 25px; 30 | font-weight: bolder; 31 | margin-right: 5px; 32 | } 33 | section.mainTitle label:last-child{ 34 | color: #78909c; 35 | } 36 | .front-nav-bar{ 37 | background-color: #eceff1; 38 | font-size: 0.7em; 39 | color: #546e7a; 40 | padding: 7px; 41 | border-top: #cfd8dc solid 1px; 42 | border-bottom: #cfd8dc solid 1px; 43 | } 44 | div.form-group label{ 45 | font-weight: bold; 46 | margin-right: 5px; 47 | } 48 | 49 | .content-box-2{ 50 | background-color: #ffffff; 51 | padding: 40px; 52 | } 53 | #total-text{ 54 | color: #3d98ef; 55 | font-size: 13px; 56 | } 57 | #total-text1{ 58 | color: #ef5350; 59 | font-size: 13px; 60 | } 61 | section.content-box-2 label{ 62 | font-weight: bold; 63 | margin-right: 10px; 64 | } 65 | 66 | 67 | div.form-group label{ 68 | margin: 0; 69 | } 70 | 71 | .control-error { 72 | color: red; 73 | font-size: 0.9em; 74 | /*display: none;*/ 75 | } 76 | 77 | #total{ 78 | font-size: 30px; 79 | color: #3d98ef; 80 | } 81 | #subtotal{ 82 | color: #ef5350; 83 | font-size: 30px; 84 | } 85 | 86 | -------------------------------------------------------------------------------- /06_JS-Events/index2.html: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | JS Events 10 | 11 | 12 |

Hello JS Events..!

13 |

Specified Events

14 | 15 | 16 | 17 | 18 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /05_SPA_POS/assests/css/bootstrap-reboot.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors 4 | * Copyright 2011-2020 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important} 8 | /*# sourceMappingURL=bootstrap-reboot.min.css.map */ -------------------------------------------------------------------------------- /05_SPA_POS/controller/CustomerController.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author : Sanu Vithanage 3 | * @since : 0.0.1 4 | **/ 5 | // Customer Section Events 6 | //select customer button and bind a event 7 | 8 | $('#btnCustomer').click(function () { 9 | saveCustomer(); 10 | }); 11 | 12 | function saveCustomer(){ 13 | $('#tblCustomer>tr').off('click'); //detach all the tr click events 14 | $('#tblCustomer>tr').off('dblclick'); //detach all the tr click events 15 | 16 | //gather details from inputs 17 | let cusID = $("#txtCustomerID").val(); 18 | let cusName = $("#txtCustomerName").val(); 19 | let cusAddress = $("#txtCustomerAddress").val(); 20 | let cusSalary = $("#txtCustomerSalry").val(); 21 | 22 | var customer=new Customer(cusID,cusName,cusAddress,cusSalary); 23 | customerDB.push(customer); 24 | 25 | 26 | // add gathered details to the table 27 | let row = "" + cusID + "" + cusName + "" + cusAddress + "" + cusSalary + ""; 28 | 29 | //template literals 30 | let row2 = `${cusID}${cusName}${cusAddress}${cusSalary}`; 31 | 32 | $('#tblCustomer').append(row2); 33 | 34 | clearCustomerTextFields(); 35 | 36 | //Bind click event for all table rows 37 | //Filling back the input fields from the selected table row details 38 | //get values of selected row 39 | $('#tblCustomer>tr').click(function () { 40 | //get values of selected row 41 | let id = $(this).children('td:eq(0)').text(); 42 | let name = $(this).children('td:eq(1)').text(); 43 | let address = $(this).children('td:eq(2)').text(); 44 | let salary = $(this).children('td:eq(3)').text(); 45 | 46 | //set values for text fileds 47 | $("#txtCustomerID").val(id); 48 | $("#txtCustomerName").val(name); 49 | $("#txtCustomerAddress").val(address); 50 | $("#txtCustomerSalry").val(salary); 51 | 52 | }); 53 | 54 | $("#tblCustomer>tr").on('dblclick',function (){ 55 | $(this).remove(); 56 | }); 57 | } 58 | 59 | 60 | 61 | //Filling back the input fields from the selected table row details 62 | // $('#tblCustomer>tr').click(function (){ 63 | // let id= $($(this).children().get(0)).text(); 64 | // let name= $($(this).children().get(1)).text(); 65 | // let address= $($(this).children().get(2)).text(); 66 | // let salary= $($(this).children().get(3)).text(); 67 | // console.log(id,name,address,salary); 68 | // }); 69 | 70 | // clear all text field and focus cus id 71 | function clearCustomerTextFields() { 72 | $("#txtCustomerID").val(""); 73 | $("#txtCustomerName").val(""); 74 | $("#txtCustomerAddress").val(""); 75 | $("#txtCustomerSalry").val(""); 76 | $("#txtCustomerID").focus(); 77 | } 78 | 79 | // store customerID validation 80 | let cusRegEx=/^(C00-)[0-9]{1,3}$/; 81 | 82 | 83 | 84 | $("#txtCustomerID").on('keyup',function (event){ 85 | if (event.key=="Enter"){ 86 | $('#txtCustomerName').focus(); 87 | } 88 | 89 | let inputID=$("#txtCustomerID").val(); 90 | if (cusRegEx.test(inputID)){ 91 | $("#txtCustomerID").css('border','2px solid green'); 92 | $("#lblcusid").text(""); 93 | }else{ 94 | $("#txtCustomerID").css('border','2px solid red'); 95 | $("#lblcusid").text('Your Input Data Format is Wrong (C00-001)'); 96 | } 97 | }); 98 | 99 | $("#txtCustomerName").on('keydown',function (event){ 100 | if (event.key=="Enter"){ 101 | $('#txtCustomerAddress').focus(); 102 | } 103 | }); 104 | 105 | $("#txtCustomerAddress").on('keydown',function (event){ 106 | if (event.key=="Enter"){ 107 | $('#txtCustomerSalry').focus(); 108 | } 109 | }); 110 | 111 | 112 | $("#txtCustomerSalry").on('keydown',function (event){ 113 | if (event.key=="Enter"){ 114 | saveCustomer(); 115 | } 116 | }); 117 | 118 | 119 | $('#txtCustomerID,#txtCustomerName,#txtCustomerAddress,#txtCustomerSalry').on('keydown',function (event){ 120 | if (event.key=="Tab"){ 121 | event.preventDefault(); 122 | } 123 | }); 124 | 125 | 126 | -------------------------------------------------------------------------------- /03_DOM_ManipulationWithjQuery/index.html: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | DOM Manipulation with jQuery 10 | 11 | 12 |

jQuery..?

13 |

What is jQuery...?

14 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias aliquam aliquid aperiam aut 15 | autem beatae blanditiis 16 | deserunt, ducimus eveniet, excepturi, fuga illo illum ipsam iste laboriosam molestias ratione voluptate 17 | voluptatum!

18 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias aliquam aliquid aperiam aut 19 | autem beatae blanditiis 20 | deserunt, ducimus eveniet, excepturi, fuga illo illum ipsam iste laboriosam molestias ratione voluptate 21 | voluptatum!

22 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Alias aliquam aliquid aperiam aut 23 | autem beatae blanditiis 24 | deserunt, ducimus eveniet, excepturi, fuga illo illum ipsam iste laboriosam molestias ratione voluptate 25 | voluptatum!

26 | 27 | 28 | 29 | 30 | 34 | 35 | 36 | 127 | 128 | 129 | -------------------------------------------------------------------------------- /02_DOM_Manipulation/index.html: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | DOM Manipulation 10 | 11 | 12 | 13 |

Document Object Model Manipulation

14 |

Document Object Model Manipulation

15 |

Institute of Java and Software Engineering

16 |

RWAD

17 | 18 | 19 | 20 | 21 |
22 | 23 |
24 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis, itaque pariatur. Architecto earum esse 25 | exercitationem expedita labore libero maiores, quae, saepe sed sequi soluta ut voluptatibus! Ad qui quibusdam 26 | quis.

27 | 28 | 35 | 36 | 37 |
    38 |
  1. Customer
  2. 39 |
  3. Item
  4. 40 |
41 |

This is Customer Content

42 |

This is Item Content

43 | 44 | 45 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /04_Traversing/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Traversing Using jQuery 10 | 11 | 12 |

Hello there ..!

13 | 14 |
15 |
16 |
17 |
18 |
19 |
    20 |
  1. A
  2. 21 |
  3. B
  4. 22 |
23 |
24 |
25 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. A accusamus accusantium adipisci, 26 | architecto aspernatur culpa explicabo, fugiat laudantium minus mollitia natus obcaecati officia 27 | placeat rem soluta voluptate voluptates? Molestias, voluptatum!

28 |
29 |
30 |
    31 |
  • A
  • 32 |
  • B
  • 33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | Customer Manage 41 |
42 |
43 |
44 |
45 |
46 |
47 |

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ab aliquid animi aperiam asperiores commodi 48 | consectetur consequatur culpa fuga incidunt molestias neque nesciunt officiis perspiciatis quam 49 | quibusdam, quod, repudiandae saepe tenetur.

50 |
51 |
52 |
53 | 54 | 55 | 56 | 134 | 135 | 136 | -------------------------------------------------------------------------------- /05_SPA_POS/assests/css/bootstrap-reboot.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/) 3 | * Copyright 2011-2020 The Bootstrap Authors 4 | * Copyright 2011-2020 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | *, 9 | *::before, 10 | *::after { 11 | box-sizing: border-box; 12 | } 13 | 14 | html { 15 | font-family: sans-serif; 16 | line-height: 1.15; 17 | -webkit-text-size-adjust: 100%; 18 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 19 | } 20 | 21 | article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { 22 | display: block; 23 | } 24 | 25 | body { 26 | margin: 0; 27 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 28 | font-size: 1rem; 29 | font-weight: 400; 30 | line-height: 1.5; 31 | color: #212529; 32 | text-align: left; 33 | background-color: #fff; 34 | } 35 | 36 | [tabindex="-1"]:focus:not(:focus-visible) { 37 | outline: 0 !important; 38 | } 39 | 40 | hr { 41 | box-sizing: content-box; 42 | height: 0; 43 | overflow: visible; 44 | } 45 | 46 | h1, h2, h3, h4, h5, h6 { 47 | margin-top: 0; 48 | margin-bottom: 0.5rem; 49 | } 50 | 51 | p { 52 | margin-top: 0; 53 | margin-bottom: 1rem; 54 | } 55 | 56 | abbr[title], 57 | abbr[data-original-title] { 58 | text-decoration: underline; 59 | -webkit-text-decoration: underline dotted; 60 | text-decoration: underline dotted; 61 | cursor: help; 62 | border-bottom: 0; 63 | -webkit-text-decoration-skip-ink: none; 64 | text-decoration-skip-ink: none; 65 | } 66 | 67 | address { 68 | margin-bottom: 1rem; 69 | font-style: normal; 70 | line-height: inherit; 71 | } 72 | 73 | ol, 74 | ul, 75 | dl { 76 | margin-top: 0; 77 | margin-bottom: 1rem; 78 | } 79 | 80 | ol ol, 81 | ul ul, 82 | ol ul, 83 | ul ol { 84 | margin-bottom: 0; 85 | } 86 | 87 | dt { 88 | font-weight: 700; 89 | } 90 | 91 | dd { 92 | margin-bottom: .5rem; 93 | margin-left: 0; 94 | } 95 | 96 | blockquote { 97 | margin: 0 0 1rem; 98 | } 99 | 100 | b, 101 | strong { 102 | font-weight: bolder; 103 | } 104 | 105 | small { 106 | font-size: 80%; 107 | } 108 | 109 | sub, 110 | sup { 111 | position: relative; 112 | font-size: 75%; 113 | line-height: 0; 114 | vertical-align: baseline; 115 | } 116 | 117 | sub { 118 | bottom: -.25em; 119 | } 120 | 121 | sup { 122 | top: -.5em; 123 | } 124 | 125 | a { 126 | color: #007bff; 127 | text-decoration: none; 128 | background-color: transparent; 129 | } 130 | 131 | a:hover { 132 | color: #0056b3; 133 | text-decoration: underline; 134 | } 135 | 136 | a:not([href]) { 137 | color: inherit; 138 | text-decoration: none; 139 | } 140 | 141 | a:not([href]):hover { 142 | color: inherit; 143 | text-decoration: none; 144 | } 145 | 146 | pre, 147 | code, 148 | kbd, 149 | samp { 150 | font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 151 | font-size: 1em; 152 | } 153 | 154 | pre { 155 | margin-top: 0; 156 | margin-bottom: 1rem; 157 | overflow: auto; 158 | -ms-overflow-style: scrollbar; 159 | } 160 | 161 | figure { 162 | margin: 0 0 1rem; 163 | } 164 | 165 | img { 166 | vertical-align: middle; 167 | border-style: none; 168 | } 169 | 170 | svg { 171 | overflow: hidden; 172 | vertical-align: middle; 173 | } 174 | 175 | table { 176 | border-collapse: collapse; 177 | } 178 | 179 | caption { 180 | padding-top: 0.75rem; 181 | padding-bottom: 0.75rem; 182 | color: #6c757d; 183 | text-align: left; 184 | caption-side: bottom; 185 | } 186 | 187 | th { 188 | text-align: inherit; 189 | } 190 | 191 | label { 192 | display: inline-block; 193 | margin-bottom: 0.5rem; 194 | } 195 | 196 | button { 197 | border-radius: 0; 198 | } 199 | 200 | button:focus { 201 | outline: 1px dotted; 202 | outline: 5px auto -webkit-focus-ring-color; 203 | } 204 | 205 | input, 206 | button, 207 | select, 208 | optgroup, 209 | textarea { 210 | margin: 0; 211 | font-family: inherit; 212 | font-size: inherit; 213 | line-height: inherit; 214 | } 215 | 216 | button, 217 | input { 218 | overflow: visible; 219 | } 220 | 221 | button, 222 | select { 223 | text-transform: none; 224 | } 225 | 226 | [role="button"] { 227 | cursor: pointer; 228 | } 229 | 230 | select { 231 | word-wrap: normal; 232 | } 233 | 234 | button, 235 | [type="button"], 236 | [type="reset"], 237 | [type="submit"] { 238 | -webkit-appearance: button; 239 | } 240 | 241 | button:not(:disabled), 242 | [type="button"]:not(:disabled), 243 | [type="reset"]:not(:disabled), 244 | [type="submit"]:not(:disabled) { 245 | cursor: pointer; 246 | } 247 | 248 | button::-moz-focus-inner, 249 | [type="button"]::-moz-focus-inner, 250 | [type="reset"]::-moz-focus-inner, 251 | [type="submit"]::-moz-focus-inner { 252 | padding: 0; 253 | border-style: none; 254 | } 255 | 256 | input[type="radio"], 257 | input[type="checkbox"] { 258 | box-sizing: border-box; 259 | padding: 0; 260 | } 261 | 262 | textarea { 263 | overflow: auto; 264 | resize: vertical; 265 | } 266 | 267 | fieldset { 268 | min-width: 0; 269 | padding: 0; 270 | margin: 0; 271 | border: 0; 272 | } 273 | 274 | legend { 275 | display: block; 276 | width: 100%; 277 | max-width: 100%; 278 | padding: 0; 279 | margin-bottom: .5rem; 280 | font-size: 1.5rem; 281 | line-height: inherit; 282 | color: inherit; 283 | white-space: normal; 284 | } 285 | 286 | progress { 287 | vertical-align: baseline; 288 | } 289 | 290 | [type="number"]::-webkit-inner-spin-button, 291 | [type="number"]::-webkit-outer-spin-button { 292 | height: auto; 293 | } 294 | 295 | [type="search"] { 296 | outline-offset: -2px; 297 | -webkit-appearance: none; 298 | } 299 | 300 | [type="search"]::-webkit-search-decoration { 301 | -webkit-appearance: none; 302 | } 303 | 304 | ::-webkit-file-upload-button { 305 | font: inherit; 306 | -webkit-appearance: button; 307 | } 308 | 309 | output { 310 | display: inline-block; 311 | } 312 | 313 | summary { 314 | display: list-item; 315 | cursor: pointer; 316 | } 317 | 318 | template { 319 | display: none; 320 | } 321 | 322 | [hidden] { 323 | display: none !important; 324 | } 325 | /*# sourceMappingURL=bootstrap-reboot.css.map */ -------------------------------------------------------------------------------- /05_SPA_POS/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Dashboard 6 | 7 | 8 | 9 | 11 | 16 | 17 | 18 | 19 | 20 | 21 |
22 |

23 | 29 |
30 | 31 | 32 | 33 |
34 |
35 |
36 |
37 |
38 |
39 |
Customers
40 |
41 |
42 |

93

43 |
44 |
45 |
46 |
47 |
48 |
Items
49 |
50 |
51 |

101

52 |
53 |
54 |
55 |
56 |
57 |
My Orders
58 |
59 |
60 |

999

61 |
62 |
63 |
64 |
65 |
66 |
Settings
67 |
68 |
69 |
70 |

71 | 72 |

73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 | 81 |
82 | 83 | 84 |
85 |
86 |
87 |

Customer Registraion

88 | 89 |
90 | 91 | 92 | 93 |
94 |
95 | 96 | 97 | 98 |
99 |
100 | 101 | 102 | 103 |
104 |
105 | 106 | 107 | 108 |
109 |
110 | 111 | 112 | 113 | 114 | 115 |
116 | 117 |
118 |
119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 |
Customer IDCustomer NameCustomer AddressCustomer Salary
132 |
133 |
134 | 135 |
136 | 137 | 138 |
139 |
140 |
141 |

Item Form

142 | 143 |
144 | 145 | 146 | 147 |
148 |
149 | 150 | 151 | 152 |
153 |
154 | 155 | 156 | 157 |
158 |
159 | 160 | 161 | 162 |
163 |
164 | 165 | 166 | 167 | 168 | 169 |
170 | 171 |
172 |
173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 |
Item CodeItem NameItem QtyItem Price
186 |
187 |
188 | 189 |
190 | 191 | 192 |
193 |
194 | 195 |
196 |
197 |
198 |
199 |
Invoice Details
200 |
201 |
202 |
203 |
204 |
205 | 206 | 207 | 209 |
210 |
211 |
212 |
213 | 214 | 215 |
216 |
217 |
218 |
219 |
220 |
221 | 222 | 225 | 227 |
228 |
229 |
230 |
231 | 232 | 233 |
234 |
235 |
236 |
237 |
238 |
239 | 240 | 241 |
242 |
243 |
244 |
245 | 246 | 247 |
248 |
249 |
250 |
251 | 252 | 253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
Item Select
263 |
264 |
265 |
266 |
267 |
268 | 269 | 270 | 272 |
273 |
274 |
275 |
276 | 277 | 278 |
279 |
280 |
281 |
282 | 283 | 284 |
285 |
286 |
287 |
288 | 289 | 290 |
291 |
292 |
293 |
294 | 295 | 296 |
297 |
298 |
299 |
300 |
301 |
302 | 303 | 304 | 305 |
306 |
307 |
308 |
309 | 312 |
313 |
314 |
315 |
316 |
317 |
318 |
319 |
320 |
321 |
322 |
323 | Total : 324 |
325 |
326 | 00.0 Rs/= 327 |
328 |
329 | 330 |
331 |
332 |
333 |
334 | SubTotal : 335 |
336 |
337 | 00.0 Rs/= 338 |
339 |
340 | 341 |
342 |
343 |
344 | 345 | 346 | 348 |
349 |
350 |
351 |
352 | 353 | 354 |
355 |
356 |
357 |
358 | 359 | 360 |
361 |
362 |
363 | 364 |
365 |
366 |
367 |
368 |
369 | 370 |
371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 |
Item CodeItem NamePriceQuantityTotal
385 |
386 | 387 |
388 |
389 |
390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | -------------------------------------------------------------------------------- /05_SPA_POS/assests/css/bootstrap-reboot.min.css.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_reboot.scss","dist/css/bootstrap-reboot.css","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_hover.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"reboot\";\n","// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n // Matches default `` alignment by inheriting from the ``, or the\n // closest parent with a set `text-align`.\n text-align: inherit;\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-blacklist\n border-radius: 0;\n}\n\n// Work around a Firefox/IE bug where the transparent `button` background\n// results in a loss of the default `button` focus styles.\n//\n// Credit: https://github.com/suitcss/base/\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`