-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontroller.js
More file actions
100 lines (92 loc) · 2.78 KB
/
controller.js
File metadata and controls
100 lines (92 loc) · 2.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
"use strict";
import * as model from "./model.js";
import FarnellObject from "./apis/farnell.js";
import MouserObject from "./apis/mouser.js";
import DigikeyObject from "./apis/digikey.js";
import previewViews from "./views/previewViews.js";
import dropzoneViews from "./views/dropzoneViews.js";
import mouser from "./apis/mouser.js";
const controlPreview = async function () {
try {
previewViews._clearPreview();
previewViews.renderSpinner();
previewViews.renderTitle();
previewViews.render(model.state.partNumber);
} catch (err) {
console.log(err);
}
};
const controlPreviewReset = function () {
try {
previewViews._clearPreview();
previewViews.resetTitle();
model.emptyState();
previewViews.renderSpinner();
} catch (err) {
console.log(err);
}
};
const controlDropzoneView = function () {
try {
// dropzoneViews.resetProgressBar();
// dropzoneViews.renderProgressBar();
} catch (err) {
console.log(err);
}
};
const controlFarnellApiCall = async function () {
try {
const componentState = Object.values(model.state.partNumber);
console.log(componentState);
componentState.forEach(async function (component, id) {
const componentId = component.id;
const urlQuery = FarnellObject.generateUrl(component);
await model.searchComponent(componentId, urlQuery, FarnellObject.name);
});
} catch (err) {
console.error(err);
}
};
const controlDigikeyApiCall = async function () {
const componentState = model.state.partNumber;
componentState.forEach(async function (component, id) {
const urlQuery = DigikeyObject._generateUrl(component.component);
const dataHeader = DigikeyObject._generateDataHeader();
await model.searchComponent(
id,
urlQuery,
DigikeyObject.name,
DigikeyObject.key,
dataHeader
);
});
};
const controlMouserApiCall = async function () {
try {
const componentState = model.state.componentInput;
componentState.forEach(async function (component, id) {
const componentId = id;
const urlQuery = MouserObject.generateUrl().urlString;
const dataHeader = MouserObject.generateDataHeader(component.component);
await model.searchComponent(
componentId,
urlQuery,
MouserObject.name,
MouserObject.key,
dataHeader
);
});
} catch (err) {
console.error(err);
}
};
const init = function () {
previewViews._addHandlerRender(controlPreview);
previewViews._addHandlerReset(controlPreviewReset);
dropzoneViews._addHandlerDrop(controlDropzoneView);
dropzoneViews._addHandlerClick(controlDropzoneView);
FarnellObject._addHandlerCall(controlFarnellApiCall);
// MouserObject._addHandlerCall(controlMouserApiCall);
// DigikeyObject._addHandlerCall(controlDigikeyApiCall);
};
init();