MCPcopy Create free account
hub / github.com/Vishal-raj-1/Awesome-JavaScript-Projects / Rectangle

Class Rectangle

assets/js/Geometry Shapes/4shapes.js:46–97  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

44}
45
46class Rectangle extends Shape {
47 getName() {
48 return 'Rectangle';
49 }
50
51 getIcon() {
52 return generateIcon('rectangle');
53 }
54
55 generateInput() {
56 var elements = [
57 document.createElement('p'),
58 document.createElement('input'),
59 document.createElement('p'),
60 document.createElement('input')
61 ];
62
63 elements[0].innerHTML = 'Width: ';
64 elements[2].innerHTML = 'Height: ';
65
66 elements[1].type = elements[3].type = 'number';
67 elements[1].step = elements[3].step = 0.01;
68 elements[1].id = 'width_input';
69 elements[3].id = 'height_input';
70
71 return super.generateInput(this.getName(), elements, 2);
72 }
73
74 getInputs() {
75 return {
76 width: Number.parseFloat(document.getElementById('width_input').value),
77 height: Number.parseFloat(document.getElementById('height_input').value),
78 };
79 }
80
81 getArea(input) {
82 return input.width * input.height;
83 }
84
85 generateOutputBox(inputs) {
86 var outputElements = [document.createElement('p')];
87
88 outputElements[0].innerHTML = `${inputs.width} × ${inputs.height}`;
89
90 return super.generateOutputBox(this.getIcon(), this.getName(), outputElements, this.getArea(inputs));
91 }
92
93 clearInputs() {
94 document.getElementById('width_input').value = null;
95 document.getElementById('height_input').value = null;
96 }
97}
98class Trapezium extends Shape {
99 getName() {
100 return 'Trapezium';

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected