@hotstaq/admin-panel 0.2.12 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/WebExport.d.ts.map +1 -1
- package/build/WebExport.js +4 -3
- package/build/WebExport.js.map +1 -1
- package/build/components/admin-button.d.ts +8 -0
- package/build/components/admin-button.d.ts.map +1 -1
- package/build/components/admin-button.js +23 -1
- package/build/components/admin-button.js.map +1 -1
- package/build/components/admin-dropdown.d.ts +30 -0
- package/build/components/admin-dropdown.d.ts.map +1 -0
- package/build/components/admin-dropdown.js +89 -0
- package/build/components/admin-dropdown.js.map +1 -0
- package/build/components/admin-edit.d.ts +23 -6
- package/build/components/admin-edit.d.ts.map +1 -1
- package/build/components/admin-edit.js +84 -55
- package/build/components/admin-edit.js.map +1 -1
- package/build/components/admin-table.d.ts +2 -2
- package/build/components/admin-table.d.ts.map +1 -1
- package/build/components/admin-table.js +10 -8
- package/build/components/admin-table.js.map +1 -1
- package/build/components/admin-text.d.ts +5 -12
- package/build/components/admin-text.d.ts.map +1 -1
- package/build/components/admin-text.js +8 -4
- package/build/components/admin-text.js.map +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build-web/AdminPanelComponents.js +2 -2
- package/package.json +1 -1
- package/src/WebExport.ts +4 -3
- package/src/components/admin-button.ts +37 -1
- package/src/components/admin-dropdown.ts +115 -0
- package/src/components/admin-edit.ts +118 -71
- package/src/components/admin-table.ts +12 -11
- package/src/components/admin-text.ts +15 -16
- package/src/index.ts +2 -0
package/build/WebExport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebExport.d.ts","sourceRoot":"","sources":["../src/WebExport.ts"],"names":[],"mappings":"AAAA,iBAAe,WAAW,IAAK,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"WebExport.d.ts","sourceRoot":"","sources":["../src/WebExport.ts"],"names":[],"mappings":"AAAA,iBAAe,WAAW,IAAK,OAAO,CAAC,GAAG,CAAC,CAsB1C;AAED,OAAO,EACN,WAAW,EACX,CAAC"}
|
package/build/WebExport.js
CHANGED
|
@@ -13,19 +13,20 @@ exports.buildAssets = void 0;
|
|
|
13
13
|
function buildAssets() {
|
|
14
14
|
return __awaiter(this, void 0, void 0, function* () {
|
|
15
15
|
return ({
|
|
16
|
-
import: [
|
|
16
|
+
import: ["@popperjs/core",
|
|
17
17
|
{ name: "jquery", files: ["jquery.min.js"] },
|
|
18
18
|
"chart.js",
|
|
19
19
|
"feather-icons",
|
|
20
|
-
"
|
|
20
|
+
{ name: "bootstrap", files: ["bootstrap.min.js", "bootstrap.min.css"] }],
|
|
21
21
|
html: ["./assets/html/*.*"],
|
|
22
22
|
css: ["./assets/css/*.*"],
|
|
23
23
|
js: ["./assets/js/*.*", "./build-web/AdminPanelComponents.js"],
|
|
24
24
|
componentLibrary: "AdminPanelComponentsWeb",
|
|
25
25
|
components: [
|
|
26
|
-
"AdminButton",
|
|
27
26
|
"AdminDashboard",
|
|
28
27
|
"AdminEdit",
|
|
28
|
+
"AdminButton",
|
|
29
|
+
"AdminDropdown",
|
|
29
30
|
"AdminTable",
|
|
30
31
|
"AdminTableField",
|
|
31
32
|
"AdminTableRow",
|
package/build/WebExport.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebExport.js","sourceRoot":"","sources":["../src/WebExport.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAe,WAAW;;QAEzB,OAAO,CAAC;YACN,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"WebExport.js","sourceRoot":"","sources":["../src/WebExport.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAe,WAAW;;QAEzB,OAAO,CAAC;YACN,MAAM,EAAE,CAAC,gBAAgB;gBACxB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE;gBAC5C,UAAU;gBACV,eAAe;gBACf,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE,CAAC;YACzE,IAAI,EAAE,CAAC,mBAAmB,CAAC;YAC3B,GAAG,EAAE,CAAC,kBAAkB,CAAC;YACzB,EAAE,EAAE,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;YAC9D,gBAAgB,EAAE,yBAAyB;YAC3C,UAAU,EAAE;gBACX,gBAAgB;gBAChB,WAAW;gBACX,aAAa;gBACb,eAAe;gBACf,YAAY;gBACZ,iBAAiB;gBACjB,eAAe;gBACf,WAAW;aAAC;SACb,CAAC,CAAC;IACL,CAAC;CAAA;AAGA,kCAAW"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
export declare class AdminButton extends HotComponent {
|
|
3
|
+
/**
|
|
4
|
+
* Executes when the button is clicked.
|
|
5
|
+
*/
|
|
6
|
+
onclick: (event: MouseEvent) => Promise<any>;
|
|
3
7
|
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
4
8
|
buttonClicked(): Promise<void>;
|
|
9
|
+
/**
|
|
10
|
+
* Corrects the placement of the text elements for modals.
|
|
11
|
+
*/
|
|
12
|
+
onPostPlace(parentHtmlElement: HTMLElement, htmlElement: HTMLElement): HTMLElement;
|
|
5
13
|
output(): string;
|
|
6
14
|
}
|
|
7
15
|
//# sourceMappingURL=admin-button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-button.d.ts","sourceRoot":"","sources":["../../src/components/admin-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,WAAY,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"admin-button.d.ts","sourceRoot":"","sources":["../../src/components/admin-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,WAAY,SAAQ,YAAY;IAE5C;;OAEG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEhC,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAQhD,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IA2BnF,MAAM,IAAK,MAAM;CAIjB"}
|
|
@@ -15,13 +15,35 @@ class AdminButton extends hotstaq_1.HotComponent {
|
|
|
15
15
|
constructor(copy, api) {
|
|
16
16
|
super(copy, api);
|
|
17
17
|
this.tag = "admin-button";
|
|
18
|
+
this.onclick = null;
|
|
18
19
|
}
|
|
19
20
|
buttonClicked() {
|
|
20
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
22
|
});
|
|
22
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Corrects the placement of the text elements for modals.
|
|
26
|
+
*/
|
|
27
|
+
onPostPlace(parentHtmlElement, htmlElement) {
|
|
28
|
+
let placeHereArray = parentHtmlElement.querySelectorAll(`hot-place-here[type="modal"]`);
|
|
29
|
+
// Search for the input box in the modal we attached to, then store the
|
|
30
|
+
// found input box into the fieldElements array.
|
|
31
|
+
if (placeHereArray.length > 0) {
|
|
32
|
+
let placeHere = placeHereArray[0];
|
|
33
|
+
parentHtmlElement.removeChild(htmlElement);
|
|
34
|
+
placeHere.appendChild(htmlElement);
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
parentHtmlElement.hotComponent.fieldElements[this.field] = htmlElement;
|
|
37
|
+
}
|
|
38
|
+
if (this.onclick != null) {
|
|
39
|
+
if (typeof (this.onclick) === "string")
|
|
40
|
+
this.onclick = new Function(this.onclick);
|
|
41
|
+
htmlElement.addEventListener("click", this.onclick);
|
|
42
|
+
}
|
|
43
|
+
return (null);
|
|
44
|
+
}
|
|
23
45
|
output() {
|
|
24
|
-
return (`<button id = "${this.htmlElements[0].id}" onclick = "this.buttonClicked ();"
|
|
46
|
+
return (`<button id = "${this.htmlElements[0].id}" onclick = "this.buttonClicked ();">${this.inner}</button>`);
|
|
25
47
|
}
|
|
26
48
|
}
|
|
27
49
|
exports.AdminButton = AdminButton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-button.js","sourceRoot":"","sources":["../../src/components/admin-button.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA6D;AAE7D,MAAa,WAAY,SAAQ,sBAAY;
|
|
1
|
+
{"version":3,"file":"admin-button.js","sourceRoot":"","sources":["../../src/components/admin-button.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA6D;AAE7D,MAAa,WAAY,SAAQ,sBAAY;IAO5C,YAAa,IAA4B,EAAE,GAAW;QAErD,KAAK,CAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAElB,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;IAEK,aAAa;;QAEnB,CAAC;KAAA;IAED;;OAEG;IACH,WAAW,CAAE,iBAA8B,EAAE,WAAwB;QAEpE,IAAI,cAAc,GAAG,iBAAiB,CAAC,gBAAgB,CAAE,8BAA8B,CAAC,CAAC;QAEzF,wEAAwE;QACxE,gDAAgD;QAChD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAC7B;YACC,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAClC,iBAAiB,CAAC,WAAW,CAAE,WAAW,CAAC,CAAC;YAC5C,SAAS,CAAC,WAAW,CAAE,WAAW,CAAC,CAAC;YAEpC,aAAa;YACb,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;SACvE;QAED,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EACxB;YACC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ;gBACrC,IAAI,CAAC,OAAO,GAAyC,IAAI,QAAQ,CAAE,IAAI,CAAC,OAAO,CAAE,CAAC;YAEnF,WAAW,CAAC,gBAAgB,CAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACrD;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,MAAM;QAEL,OAAO,CAAC,iBAAiB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,wCAAwC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IAChH,CAAC;CACD;AArDD,kCAqDC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
|
+
export declare class AdminDropdown extends HotComponent {
|
|
3
|
+
/**
|
|
4
|
+
* The search string placeholder to show.
|
|
5
|
+
*/
|
|
6
|
+
placeholder: string;
|
|
7
|
+
/**
|
|
8
|
+
* Executes when the keyboard up button is triggered.
|
|
9
|
+
*/
|
|
10
|
+
onsearch: (searchText: string, event: KeyboardEvent) => Promise<{
|
|
11
|
+
url: string;
|
|
12
|
+
value: string;
|
|
13
|
+
text: string;
|
|
14
|
+
}[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Executes when an search result has been selected.
|
|
17
|
+
*/
|
|
18
|
+
onselect: (url: string, value: string, text: string) => Promise<void>;
|
|
19
|
+
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
20
|
+
/**
|
|
21
|
+
* Corrects the placement of the text elements for modals.
|
|
22
|
+
*/
|
|
23
|
+
onPostPlace(parentHtmlElement: HTMLElement, htmlElement: HTMLElement): HTMLElement;
|
|
24
|
+
/**
|
|
25
|
+
* Executed when an item is selected.
|
|
26
|
+
*/
|
|
27
|
+
selected(index: number): Promise<void>;
|
|
28
|
+
output(): string;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=admin-dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-dropdown.d.ts","sourceRoot":"","sources":["../../src/components/admin-dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,aAAc,SAAQ,YAAY;IAE9C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,EAAE,CAAC,CAAC;IACjH;;OAEG;IACH,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEzD,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAUtD;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IAgDnF;;OAEG;IACG,QAAQ,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7C,MAAM,IAAK,MAAM;CAkBjB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AdminDropdown = void 0;
|
|
13
|
+
const hotstaq_1 = require("hotstaq");
|
|
14
|
+
class AdminDropdown extends hotstaq_1.HotComponent {
|
|
15
|
+
constructor(copy, api) {
|
|
16
|
+
super(copy, api);
|
|
17
|
+
this.tag = "admin-dropdown";
|
|
18
|
+
this.placeholder = "Search";
|
|
19
|
+
this.onsearch = null;
|
|
20
|
+
this.onselect = null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Corrects the placement of the text elements for modals.
|
|
24
|
+
*/
|
|
25
|
+
onPostPlace(parentHtmlElement, htmlElement) {
|
|
26
|
+
let placeHereArray = parentHtmlElement.querySelectorAll(`hot-place-here[type="modal"]`);
|
|
27
|
+
// Search for the input box in the modal we attached to, then store the
|
|
28
|
+
// found input box into the fieldElements array.
|
|
29
|
+
if (placeHereArray.length > 0) {
|
|
30
|
+
let placeHere = placeHereArray[0];
|
|
31
|
+
parentHtmlElement.removeChild(htmlElement);
|
|
32
|
+
placeHere.appendChild(htmlElement);
|
|
33
|
+
// @ts-ignore
|
|
34
|
+
parentHtmlElement.hotComponent.fieldElements[this.field] = htmlElement;
|
|
35
|
+
}
|
|
36
|
+
if (this.onsearch != null) {
|
|
37
|
+
if (typeof (this.onsearch) === "string")
|
|
38
|
+
this.onsearch = new Function(this.onsearch);
|
|
39
|
+
htmlElement.querySelector("input").addEventListener("keyup", (event) => __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
const searchText = event.currentTarget.value;
|
|
42
|
+
let results = yield this.onsearch(searchText, event);
|
|
43
|
+
let searchResultsDiv = $(this.htmlElements[1]).find(".searchResults");
|
|
44
|
+
searchResultsDiv.empty();
|
|
45
|
+
for (let iIdx = 0; iIdx < results.length; iIdx++) {
|
|
46
|
+
const result = results[iIdx];
|
|
47
|
+
let url = result.url;
|
|
48
|
+
let value = result.value;
|
|
49
|
+
let text = result.text;
|
|
50
|
+
searchResultsDiv.append($(`<li><a class=\"dropdown-item\" href=\"${url}\" data-value = "${value}" onclick = \"this.parentNode.parentNode.parentNode.parentNode.hotComponent.selected (${iIdx});\">${text}</a></li>`));
|
|
51
|
+
}
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
return (null);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Executed when an item is selected.
|
|
58
|
+
*/
|
|
59
|
+
selected(index) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
if (this.onselect != null) {
|
|
62
|
+
if (typeof (this.onselect) === "string")
|
|
63
|
+
this.onselect = new Function(this.onselect);
|
|
64
|
+
const url = this.htmlElements[1].querySelectorAll("a")[index].getAttribute("href");
|
|
65
|
+
const value = this.htmlElements[1].querySelectorAll("a")[index].getAttribute("data-value");
|
|
66
|
+
const text = this.htmlElements[1].querySelectorAll("a")[index].innerHTML;
|
|
67
|
+
yield this.onselect(url, value, text);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
output() {
|
|
72
|
+
return (`<div class="dropdown">
|
|
73
|
+
<button class="btn btn-primary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
74
|
+
${this.inner}
|
|
75
|
+
</button>
|
|
76
|
+
<ul class="dropdown-menu">
|
|
77
|
+
<li>
|
|
78
|
+
<div class = "input-group">
|
|
79
|
+
<input type = "text" class = "form-control" placeholder = "${this.placeholder}" value = "" />
|
|
80
|
+
</div>
|
|
81
|
+
</li>
|
|
82
|
+
<div class = "searchResults">
|
|
83
|
+
</div>
|
|
84
|
+
</ul>
|
|
85
|
+
</div>`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.AdminDropdown = AdminDropdown;
|
|
89
|
+
//# sourceMappingURL=admin-dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-dropdown.js","sourceRoot":"","sources":["../../src/components/admin-dropdown.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA6D;AAE7D,MAAa,aAAc,SAAQ,sBAAY;IAe9C,YAAa,IAA4B,EAAE,GAAW;QAErD,KAAK,CAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAElB,IAAI,CAAC,GAAG,GAAG,gBAAgB,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,WAAW,CAAE,iBAA8B,EAAE,WAAwB;QAEpE,IAAI,cAAc,GAAG,iBAAiB,CAAC,gBAAgB,CAAE,8BAA8B,CAAC,CAAC;QAEzF,wEAAwE;QACxE,gDAAgD;QAChD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAC7B;YACC,IAAI,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAClC,iBAAiB,CAAC,WAAW,CAAE,WAAW,CAAC,CAAC;YAC5C,SAAS,CAAC,WAAW,CAAE,WAAW,CAAC,CAAC;YAEpC,aAAa;YACb,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;SACvE;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EACzB;YACC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;gBACtC,IAAI,CAAC,QAAQ,GAA4G,IAAI,QAAQ,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC;YAExJ,WAAW,CAAC,aAAa,CAAE,OAAO,CAAC,CAAC,gBAAgB,CAAE,OAAO,EAC5D,CAAO,KAAoB,EAAE,EAAE;gBAE9B,aAAa;gBACb,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;gBAE7C,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAEtD,IAAI,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,gBAAgB,CAAC,CAAC;gBAEvE,gBAAgB,CAAC,KAAK,EAAG,CAAC;gBAE1B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAChD;oBACC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC7B,IAAI,GAAG,GAAW,MAAM,CAAC,GAAG,CAAC;oBAC7B,IAAI,KAAK,GAAW,MAAM,CAAC,KAAK,CAAC;oBACjC,IAAI,IAAI,GAAW,MAAM,CAAC,IAAI,CAAC;oBAE/B,gBAAgB,CAAC,MAAM,CAAE,CAAC,CAAC,yCAAyC,GAAG,oBAAoB,KAAK,yFAAyF,IAAI,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC;iBACvN;YACF,CAAC,CAAA,CAAC,CAAC;SACJ;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACG,QAAQ,CAAE,KAAa;;YAE5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EACzB;gBACC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ;oBACtC,IAAI,CAAC,QAAQ,GAAiE,IAAI,QAAQ,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC;gBAE7G,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAE,MAAM,CAAC,CAAC;gBACrF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAE,YAAY,CAAC,CAAC;gBAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;gBAE1E,MAAM,IAAI,CAAC,QAAQ,CAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aACvC;QACF,CAAC;KAAA;IAED,MAAM;QAEL,OAAO,CACR;;MAEK,IAAI,CAAC,KAAK;;;;;kEAKkD,IAAI,CAAC,WAAW;;;;;;QAM1E,CAAC,CAAC;IACT,CAAC;CACD;AAhHD,sCAgHC"}
|
|
@@ -17,16 +17,14 @@ export declare class AdminEdit extends HotComponent {
|
|
|
17
17
|
* The attached schema.
|
|
18
18
|
*/
|
|
19
19
|
schema: string;
|
|
20
|
-
/**
|
|
21
|
-
* The field elements in the edit modal.
|
|
22
|
-
*/
|
|
23
|
-
fieldElements: {
|
|
24
|
-
[name: string]: any;
|
|
25
|
-
};
|
|
26
20
|
/**
|
|
27
21
|
* The modal id.
|
|
28
22
|
*/
|
|
29
23
|
modalId: string;
|
|
24
|
+
/**
|
|
25
|
+
* The hot-class attribute to pass to add to the modal's classes.
|
|
26
|
+
*/
|
|
27
|
+
class: string;
|
|
30
28
|
/**
|
|
31
29
|
* The bootstrap modal instance.
|
|
32
30
|
*/
|
|
@@ -46,7 +44,26 @@ export declare class AdminEdit extends HotComponent {
|
|
|
46
44
|
* The selected fields.
|
|
47
45
|
*/
|
|
48
46
|
protected selectedFields: any[];
|
|
47
|
+
/**
|
|
48
|
+
* What to execute when the save button is clicked.
|
|
49
|
+
*/
|
|
50
|
+
onsave: (modalType: string, values: any, selectedFields: any[]) => Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* What to execute when the edit button is clicked.
|
|
53
|
+
*/
|
|
54
|
+
onedit: (modalType: string, selectedFields: any[]) => Promise<boolean>;
|
|
55
|
+
/**
|
|
56
|
+
* What to execute when the delete button is clicked.
|
|
57
|
+
*/
|
|
58
|
+
ondelete: (selectedField: any) => Promise<void>;
|
|
49
59
|
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
60
|
+
/**
|
|
61
|
+
* Process the hot fields.
|
|
62
|
+
*/
|
|
63
|
+
processHotFields(onField: (htmlElement: Element, field: {
|
|
64
|
+
name: string;
|
|
65
|
+
type: string;
|
|
66
|
+
}) => Promise<void>): Promise<void>;
|
|
50
67
|
/**
|
|
51
68
|
* The event that can be called when the add button is clicked.
|
|
52
69
|
* This is called before the add modal opens.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-edit.d.ts","sourceRoot":"","sources":["../../src/components/admin-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,SAAS,MAAM,WAAW,CAAC;AAIlC,qBAAa,SAAU,SAAQ,YAAY;IAE1C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"admin-edit.d.ts","sourceRoot":"","sources":["../../src/components/admin-edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,SAAS,MAAM,WAAW,CAAC;AAIlC,qBAAa,SAAU,SAAQ,YAAY;IAE1C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC;IACvB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC;IAChC;;OAEG;IACH,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF;;OAEG;IACH,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE;;OAEG;IACH,QAAQ,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEnC,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAqBtD;;OAEG;IACG,gBAAgB,CAAE,OAAO,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBhI;;;OAGG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE5C;;OAEG;IACG,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAsBlC;;;OAGG;IACH,aAAa,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE7C;;OAEG;IACG,WAAW,IAAK,OAAO,CAAC,IAAI,CAAC;IAgDnC;;;OAGG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAQ;IAE/C;;OAEG;IACG,aAAa,IAAK,OAAO,CAAC,IAAI,CAAC;IA6ErC;;OAEG;IACG,MAAM;IAwEZ;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IAWnF,MAAM,IAAK,MAAM,GAAG,kBAAkB,EAAE;CA2CxC"}
|
|
@@ -38,12 +38,33 @@ class AdminEdit extends hotstaq_1.HotComponent {
|
|
|
38
38
|
this.button_title = "";
|
|
39
39
|
this.attached_list = "";
|
|
40
40
|
this.schema = "";
|
|
41
|
-
this.fieldElements = {};
|
|
42
41
|
this.modalId = "";
|
|
42
|
+
this.class = "";
|
|
43
43
|
this.modal = null;
|
|
44
44
|
this.modalType = "add";
|
|
45
45
|
this.closeOnSave = true;
|
|
46
46
|
this.selectedFields = [];
|
|
47
|
+
this.onsave = null;
|
|
48
|
+
this.onedit = null;
|
|
49
|
+
this.ondelete = null;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Process the hot fields.
|
|
53
|
+
*/
|
|
54
|
+
processHotFields(onField) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
const elms = this.htmlElements[1].querySelectorAll("[hot-field]");
|
|
57
|
+
for (let iIdx = 0; iIdx < elms.length; iIdx++) {
|
|
58
|
+
const elm = elms[iIdx];
|
|
59
|
+
const field = $(elm).attr("hot-field");
|
|
60
|
+
let fieldType = $(elm).attr("hot-field-type");
|
|
61
|
+
if ((fieldType == null) || (fieldType === ""))
|
|
62
|
+
fieldType = "text";
|
|
63
|
+
// @ts-ignore
|
|
64
|
+
elm.fieldType = fieldType;
|
|
65
|
+
yield onField(elm, { name: field, type: fieldType });
|
|
66
|
+
}
|
|
67
|
+
});
|
|
47
68
|
}
|
|
48
69
|
/**
|
|
49
70
|
* Executes when the add button is clicked.
|
|
@@ -56,11 +77,9 @@ class AdminEdit extends hotstaq_1.HotComponent {
|
|
|
56
77
|
return;
|
|
57
78
|
}
|
|
58
79
|
this.modalType = "add";
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
fieldElement.value = "";
|
|
63
|
-
}
|
|
80
|
+
yield this.processHotFields((htmlElement, field) => __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
$(htmlElement).val("");
|
|
82
|
+
}));
|
|
64
83
|
this.selectedFields = [];
|
|
65
84
|
bootstrap_1.default.Modal.getInstance(`#${this.modalId}`).show();
|
|
66
85
|
});
|
|
@@ -81,15 +100,22 @@ class AdminEdit extends hotstaq_1.HotComponent {
|
|
|
81
100
|
let hotComponent = attachedList.hotComponent;
|
|
82
101
|
let selectedField = hotComponent.getSelected();
|
|
83
102
|
if (selectedField != null) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
103
|
+
yield this.processHotFields((htmlElement, field) => __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
// @ts-ignore
|
|
105
|
+
const value = selectedField[field.name];
|
|
106
|
+
if (value != null)
|
|
107
|
+
$(htmlElement).val(value);
|
|
108
|
+
}));
|
|
109
|
+
this.selectedFields = [selectedField];
|
|
110
|
+
if (this.onedit != null) {
|
|
111
|
+
if (typeof (this.onedit) === "string")
|
|
112
|
+
this.onedit = new Function(this.onedit);
|
|
113
|
+
let result = yield this.onedit(this.modalType, this.selectedFields);
|
|
114
|
+
if (result != null) {
|
|
115
|
+
if (result === false)
|
|
116
|
+
return;
|
|
90
117
|
}
|
|
91
118
|
}
|
|
92
|
-
this.selectedFields = [selectedField];
|
|
93
119
|
bootstrap_1.default.Modal.getInstance(`#${this.modalId}`).show();
|
|
94
120
|
}
|
|
95
121
|
});
|
|
@@ -132,11 +158,18 @@ class AdminEdit extends hotstaq_1.HotComponent {
|
|
|
132
158
|
delete whereField[key];
|
|
133
159
|
}
|
|
134
160
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
161
|
+
if (this.ondelete != null) {
|
|
162
|
+
if (typeof (this.ondelete) === "string")
|
|
163
|
+
this.ondelete = new Function(this.ondelete);
|
|
164
|
+
yield this.ondelete(whereField);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
let removeUrl = hotstaq_1.Hot.Data.AdminPanel.removeUrl;
|
|
168
|
+
yield hotstaq_1.Hot.jsonRequest(removeUrl, {
|
|
169
|
+
schema: this.schema,
|
|
170
|
+
whereFields: whereField
|
|
171
|
+
});
|
|
172
|
+
}
|
|
140
173
|
}
|
|
141
174
|
yield hotComponent.refreshList();
|
|
142
175
|
}
|
|
@@ -149,46 +182,42 @@ class AdminEdit extends hotstaq_1.HotComponent {
|
|
|
149
182
|
onSave() {
|
|
150
183
|
return __awaiter(this, void 0, void 0, function* () {
|
|
151
184
|
let values = {};
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
if (fieldElement != null) {
|
|
155
|
-
let value = fieldElement.value;
|
|
156
|
-
let fieldType = fieldElement.parentNode.hotComponent.field_type;
|
|
157
|
-
if (fieldType === "remove")
|
|
158
|
-
continue;
|
|
159
|
-
values[key] = value;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
if (this.modalType === "add") {
|
|
163
|
-
let addUrl = hotstaq_1.Hot.Data.AdminPanel.addUrl;
|
|
164
|
-
yield hotstaq_1.Hot.jsonRequest(addUrl, {
|
|
165
|
-
schema: this.schema,
|
|
166
|
-
fields: values
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
if (this.modalType === "edit") {
|
|
170
|
-
if (this.selectedFields.length === 0) {
|
|
171
|
-
alert("No item(s) selected!");
|
|
185
|
+
yield this.processHotFields((htmlElement, field) => __awaiter(this, void 0, void 0, function* () {
|
|
186
|
+
if (field.type === "remove")
|
|
172
187
|
return;
|
|
188
|
+
values[field.name] = $(htmlElement).val();
|
|
189
|
+
}));
|
|
190
|
+
if (this.onsave != null) {
|
|
191
|
+
if (typeof (this.onsave) === "string")
|
|
192
|
+
this.onsave = new Function(this.onsave);
|
|
193
|
+
yield this.onsave(this.modalType, values, this.selectedFields);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
if (this.modalType === "add") {
|
|
197
|
+
let addUrl = hotstaq_1.Hot.Data.AdminPanel.addUrl;
|
|
198
|
+
yield hotstaq_1.Hot.jsonRequest(addUrl, {
|
|
199
|
+
schema: this.schema,
|
|
200
|
+
fields: values
|
|
201
|
+
});
|
|
173
202
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
let value = selectedField[key];
|
|
179
|
-
if (fieldElement != null) {
|
|
180
|
-
let fieldType = fieldElement.parentNode.hotComponent.field_type;
|
|
181
|
-
if (fieldType === "remove")
|
|
182
|
-
continue;
|
|
203
|
+
if (this.modalType === "edit") {
|
|
204
|
+
if (this.selectedFields.length === 0) {
|
|
205
|
+
alert("No item(s) selected!");
|
|
206
|
+
return;
|
|
183
207
|
}
|
|
184
|
-
whereFields
|
|
208
|
+
let whereFields = {};
|
|
209
|
+
yield this.processHotFields((htmlElement, field) => __awaiter(this, void 0, void 0, function* () {
|
|
210
|
+
if (field.type === "remove")
|
|
211
|
+
return;
|
|
212
|
+
whereFields[field.name] = $(htmlElement).val();
|
|
213
|
+
}));
|
|
214
|
+
let editUrl = hotstaq_1.Hot.Data.AdminPanel.editUrl;
|
|
215
|
+
yield hotstaq_1.Hot.jsonRequest(editUrl, {
|
|
216
|
+
schema: this.schema,
|
|
217
|
+
whereFields: whereFields,
|
|
218
|
+
fields: values
|
|
219
|
+
});
|
|
185
220
|
}
|
|
186
|
-
let editUrl = hotstaq_1.Hot.Data.AdminPanel.editUrl;
|
|
187
|
-
yield hotstaq_1.Hot.jsonRequest(editUrl, {
|
|
188
|
-
schema: this.schema,
|
|
189
|
-
whereFields: whereFields,
|
|
190
|
-
fields: values
|
|
191
|
-
});
|
|
192
221
|
}
|
|
193
222
|
let attachedList = document.getElementById(this.attached_list);
|
|
194
223
|
// @ts-ignore
|
|
@@ -217,7 +246,7 @@ class AdminEdit extends hotstaq_1.HotComponent {
|
|
|
217
246
|
return ([{
|
|
218
247
|
html: `
|
|
219
248
|
<!-- ${this.title} Modal Start -->
|
|
220
|
-
<div class="modal fade" id="${this.modalId}" tabindex="-1" aria-labelledby="${this.name}ModalLabel" aria-hidden="true">
|
|
249
|
+
<div class="modal fade ${this.class}" id="${this.modalId}" tabindex="-1" aria-labelledby="${this.name}ModalLabel" aria-hidden="true">
|
|
221
250
|
<div class="modal-dialog">
|
|
222
251
|
<div class="modal-content">
|
|
223
252
|
<div class="modal-header">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-edit.js","sourceRoot":"","sources":["../../src/components/admin-edit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAAiF;AAEjF,0DAAkC;AAIlC,MAAa,SAAU,SAAQ,sBAAY;
|
|
1
|
+
{"version":3,"file":"admin-edit.js","sourceRoot":"","sources":["../../src/components/admin-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,9 +59,9 @@ export declare class AdminTable extends HotComponent {
|
|
|
59
59
|
*/
|
|
60
60
|
protected selected: number;
|
|
61
61
|
/**
|
|
62
|
-
* The list
|
|
62
|
+
* The list function to execute to retrieve data.
|
|
63
63
|
*/
|
|
64
|
-
|
|
64
|
+
onlist: () => Promise<any[]>;
|
|
65
65
|
/**
|
|
66
66
|
* The list url to use for this table. Hot.Data.AdminPanel.listUrl will not be used in this case.
|
|
67
67
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-table.d.ts","sourceRoot":"","sources":["../../src/components/admin-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,UAAW,SAAQ,YAAY;IAE3C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACR;;WAEG;QACH,MAAM,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;SAAE,CAAC;QAC7C;;;;WAIG;QACH,QAAQ,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;SAAE,CAAC;QACnC;;;;WAIG;QACH,QAAQ,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE;QAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;KAAE,EAAE,CAAM;IAC7D;;;;OAIG;IAEH;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"admin-table.d.ts","sourceRoot":"","sources":["../../src/components/admin-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,UAAW,SAAQ,YAAY;IAE3C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACR;;WAEG;QACH,MAAM,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;SAAE,CAAC;QAC7C;;;;WAIG;QACH,QAAQ,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;SAAE,CAAC;QACnC;;;;WAIG;QACH,QAAQ,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE;QAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;KAAE,EAAE,CAAM;IAC7D;;;;OAIG;IAEH;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEtD,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAqBtD;;OAEG;IACH,SAAS,CAAE,iBAAiB,EAAE,WAAW;IAYzC;;OAEG;IACH,iBAAiB,CAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW;IAUxE;;OAEG;IACH,YAAY,CAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAaxC;;OAEG;IACG,SAAS,CAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D3E;;OAEG;IACH,WAAW,IAAK,GAAG,EAAE;IAUrB;;OAEG;IAcH;;OAEG;IACH,cAAc,IAAK,GAAG,EAAE;IA4BxB;;OAEG;IACH,MAAM,CAAE,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE;IAK7B;;;;OAIG;IACH,MAAM,CAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE;IA4FzC;;OAEG;IACG,SAAS;IASf;;OAEG;IACG,WAAW;IAiCjB;;OAEG;IACH,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW;IAUnF,MAAM,IAAK,MAAM,GAAG,kBAAkB,EAAE;CAqBxC"}
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.AdminTable = void 0;
|
|
13
13
|
const hotstaq_1 = require("hotstaq");
|
|
14
14
|
class AdminTable extends hotstaq_1.HotComponent {
|
|
15
|
+
;
|
|
15
16
|
constructor(copy, api) {
|
|
16
17
|
super(copy, api);
|
|
17
18
|
/**
|
|
@@ -39,7 +40,7 @@ class AdminTable extends hotstaq_1.HotComponent {
|
|
|
39
40
|
};
|
|
40
41
|
this.rowElements = [];
|
|
41
42
|
//this.selectedRows = [];
|
|
42
|
-
this.
|
|
43
|
+
this.onlist = null;
|
|
43
44
|
this.listurl = "";
|
|
44
45
|
this.checkbox = true;
|
|
45
46
|
this.onselectedrow = null;
|
|
@@ -193,6 +194,8 @@ class AdminTable extends hotstaq_1.HotComponent {
|
|
|
193
194
|
this.checkbox = hotstaq_1.HotStaq.parseBoolean(this.checkbox);
|
|
194
195
|
if (this.checkbox === true)
|
|
195
196
|
rowStr += `<td><input type = "checkbox" /></td>`;
|
|
197
|
+
else
|
|
198
|
+
rowStr += `<td></td>`;
|
|
196
199
|
for (let iIdx = 0; iIdx < this.headers.indicies.length; iIdx++) {
|
|
197
200
|
// @ts-ignore - @fixme I messed this up, will fix.
|
|
198
201
|
let key = this.headers.indicies[iIdx];
|
|
@@ -250,6 +253,7 @@ class AdminTable extends hotstaq_1.HotComponent {
|
|
|
250
253
|
*/
|
|
251
254
|
clearRows() {
|
|
252
255
|
return __awaiter(this, void 0, void 0, function* () {
|
|
256
|
+
this.rowElements = [];
|
|
253
257
|
let tbody = this.htmlElements[1].getElementsByTagName("tbody")[0];
|
|
254
258
|
tbody.innerHTML = "";
|
|
255
259
|
});
|
|
@@ -260,10 +264,10 @@ class AdminTable extends hotstaq_1.HotComponent {
|
|
|
260
264
|
refreshList() {
|
|
261
265
|
return __awaiter(this, void 0, void 0, function* () {
|
|
262
266
|
let list = null;
|
|
263
|
-
if (this.
|
|
264
|
-
if (typeof (this.
|
|
265
|
-
this.
|
|
266
|
-
list = this.
|
|
267
|
+
if (this.onlist != null) {
|
|
268
|
+
if (typeof (this.onlist) === "string")
|
|
269
|
+
this.onlist = new Function(this.onlist);
|
|
270
|
+
list = yield this.onlist();
|
|
267
271
|
}
|
|
268
272
|
else {
|
|
269
273
|
let listUrl = hotstaq_1.Hot.Data.AdminPanel.listUrl;
|
|
@@ -290,9 +294,7 @@ class AdminTable extends hotstaq_1.HotComponent {
|
|
|
290
294
|
return (null);
|
|
291
295
|
}
|
|
292
296
|
output() {
|
|
293
|
-
let emptyCheckboxHeader = "";
|
|
294
|
-
if (this.checkbox === true)
|
|
295
|
-
emptyCheckboxHeader = "<th></th>";
|
|
297
|
+
let emptyCheckboxHeader = "<th></th>";
|
|
296
298
|
return (`
|
|
297
299
|
<div id = "${this.htmlElements[0].id}">
|
|
298
300
|
<h2>${this.title}</h2>
|