@hotstaq/admin-panel 0.2.0 → 0.2.2
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/HotSite.json +1 -1
- package/assets/html/admin-footer.hott +1 -0
- package/build/src/WebExport.d.ts +8 -2
- package/build/src/WebExport.d.ts.map +1 -1
- package/build/src/WebExport.js +26 -5
- package/build/src/WebExport.js.map +1 -1
- package/build/src/components/admin-button.d.ts +2 -2
- package/build/src/components/admin-button.d.ts.map +1 -1
- package/build/src/components/admin-button.js +0 -1
- package/build/src/components/admin-button.js.map +1 -1
- package/build/src/components/admin-dashboard.d.ts +2 -2
- package/build/src/components/admin-dashboard.d.ts.map +1 -1
- package/build/src/components/admin-dashboard.js +0 -1
- package/build/src/components/admin-dashboard.js.map +1 -1
- package/build/src/components/admin-edit.d.ts +2 -2
- package/build/src/components/admin-edit.d.ts.map +1 -1
- package/build/src/components/admin-edit.js +0 -1
- package/build/src/components/admin-edit.js.map +1 -1
- package/build/src/components/admin-table-field.d.ts +2 -2
- package/build/src/components/admin-table-field.d.ts.map +1 -1
- package/build/src/components/admin-table-field.js +0 -1
- package/build/src/components/admin-table-field.js.map +1 -1
- package/build/src/components/admin-table-row.d.ts +2 -2
- package/build/src/components/admin-table-row.d.ts.map +1 -1
- package/build/src/components/admin-table-row.js +0 -1
- package/build/src/components/admin-table-row.js.map +1 -1
- package/build/src/components/admin-table.d.ts +2 -2
- package/build/src/components/admin-table.d.ts.map +1 -1
- package/build/src/components/admin-table.js +0 -1
- package/build/src/components/admin-table.js.map +1 -1
- package/build/src/components/admin-text.d.ts +2 -2
- package/build/src/components/admin-text.d.ts.map +1 -1
- package/build/src/components/admin-text.js +0 -1
- package/build/src/components/admin-text.js.map +1 -1
- package/build-web/AdminPanel.js +2 -0
- package/build-web/admin-panel.yaml +75 -0
- package/package.json +11 -7
- package/src/WebExport.ts +25 -5
- package/src/components/admin-button.ts +2 -4
- package/src/components/admin-dashboard.ts +2 -4
- package/src/components/admin-edit.ts +2 -4
- package/src/components/admin-table-field.ts +2 -4
- package/src/components/admin-table-row.ts +2 -4
- package/src/components/admin-table.ts +2 -4
- package/src/components/admin-text.ts +2 -4
- package/webpack.config.cjs +85 -0
package/HotSite.json
CHANGED
package/build/src/WebExport.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdminButton } from "./components/admin-button";
|
|
2
|
+
import { AdminDashboard } from "./components/admin-dashboard";
|
|
3
|
+
import { AdminEdit } from "./components/admin-edit";
|
|
4
|
+
import { AdminTable } from "./components/admin-table";
|
|
5
|
+
import { AdminTableField } from "./components/admin-table-field";
|
|
6
|
+
import { AdminTableRow } from "./components/admin-table-row";
|
|
7
|
+
import { AdminText } from "./components/admin-text";
|
|
2
8
|
declare function buildAssets(): Promise<any>;
|
|
3
|
-
export {
|
|
9
|
+
export { buildAssets, AdminButton, AdminDashboard, AdminEdit, AdminTable, AdminTableField, AdminTableRow, AdminText };
|
|
4
10
|
//# sourceMappingURL=WebExport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebExport.d.ts","sourceRoot":"","sources":["../../src/WebExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"WebExport.d.ts","sourceRoot":"","sources":["../../src/WebExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,iBAAe,WAAW,IAAK,OAAO,CAAC,GAAG,CAAC,CAqB1C;AAED,OAAO,EACL,WAAW,EACX,WAAW,EACX,cAAc,EACd,SAAS,EACT,UAAU,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,CAAC"}
|
package/build/src/WebExport.js
CHANGED
|
@@ -36,9 +36,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
40
|
-
var
|
|
41
|
-
Object.defineProperty(exports, "
|
|
39
|
+
exports.AdminText = exports.AdminTableRow = exports.AdminTableField = exports.AdminTable = exports.AdminEdit = exports.AdminDashboard = exports.AdminButton = exports.buildAssets = void 0;
|
|
40
|
+
var admin_button_1 = require("./components/admin-button");
|
|
41
|
+
Object.defineProperty(exports, "AdminButton", { enumerable: true, get: function () { return admin_button_1.AdminButton; } });
|
|
42
|
+
var admin_dashboard_1 = require("./components/admin-dashboard");
|
|
43
|
+
Object.defineProperty(exports, "AdminDashboard", { enumerable: true, get: function () { return admin_dashboard_1.AdminDashboard; } });
|
|
44
|
+
var admin_edit_1 = require("./components/admin-edit");
|
|
45
|
+
Object.defineProperty(exports, "AdminEdit", { enumerable: true, get: function () { return admin_edit_1.AdminEdit; } });
|
|
46
|
+
var admin_table_1 = require("./components/admin-table");
|
|
47
|
+
Object.defineProperty(exports, "AdminTable", { enumerable: true, get: function () { return admin_table_1.AdminTable; } });
|
|
48
|
+
var admin_table_field_1 = require("./components/admin-table-field");
|
|
49
|
+
Object.defineProperty(exports, "AdminTableField", { enumerable: true, get: function () { return admin_table_field_1.AdminTableField; } });
|
|
50
|
+
var admin_table_row_1 = require("./components/admin-table-row");
|
|
51
|
+
Object.defineProperty(exports, "AdminTableRow", { enumerable: true, get: function () { return admin_table_row_1.AdminTableRow; } });
|
|
52
|
+
var admin_text_1 = require("./components/admin-text");
|
|
53
|
+
Object.defineProperty(exports, "AdminText", { enumerable: true, get: function () { return admin_text_1.AdminText; } });
|
|
42
54
|
function buildAssets() {
|
|
43
55
|
return __awaiter(this, void 0, void 0, function () {
|
|
44
56
|
return __generator(this, function (_a) {
|
|
@@ -50,8 +62,17 @@ function buildAssets() {
|
|
|
50
62
|
"@popperjs/core"],
|
|
51
63
|
html: ["./assets/html/*.*"],
|
|
52
64
|
css: ["./assets/css/*.*"],
|
|
53
|
-
js: ["./assets/js/*.*"],
|
|
54
|
-
|
|
65
|
+
js: ["./assets/js/*.*", "./build-web/AdminPanel.js"],
|
|
66
|
+
componentLibrary: "AdminPanelWeb",
|
|
67
|
+
components: [
|
|
68
|
+
admin_button_1.AdminButton,
|
|
69
|
+
admin_dashboard_1.AdminDashboard,
|
|
70
|
+
admin_edit_1.AdminEdit,
|
|
71
|
+
admin_table_1.AdminTable,
|
|
72
|
+
admin_table_field_1.AdminTableField,
|
|
73
|
+
admin_table_row_1.AdminTableRow,
|
|
74
|
+
admin_text_1.AdminText
|
|
75
|
+
]
|
|
55
76
|
})];
|
|
56
77
|
});
|
|
57
78
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebExport.js","sourceRoot":"","sources":["../../src/WebExport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"WebExport.js","sourceRoot":"","sources":["../../src/WebExport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAwD;AAiCtD,4FAjCO,0BAAW,OAiCP;AAhCb,gEAA8D;AAiC5D,+FAjCO,gCAAc,OAiCP;AAhChB,sDAAoD;AAiClD,0FAjCO,sBAAS,OAiCP;AAhCX,wDAAsD;AAiCpD,2FAjCO,wBAAU,OAiCP;AAhCZ,oEAAiE;AAiC/D,gGAjCO,mCAAe,OAiCP;AAhCjB,gEAA6D;AAiC3D,8FAjCO,+BAAa,OAiCP;AAhCf,sDAAoD;AAiClD,0FAjCO,sBAAS,OAiCP;AA/BX,SAAe,WAAW;;;YAEzB,sBAAO,CAAC;oBACN,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,EAAE;wBAC/E,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE;wBAC5C,UAAU;wBACV,eAAe;wBACf,gBAAgB,CAAC;oBAClB,IAAI,EAAE,CAAC,mBAAmB,CAAC;oBAC3B,GAAG,EAAE,CAAC,kBAAkB,CAAC;oBACzB,EAAE,EAAE,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;oBACpD,gBAAgB,EAAE,eAAe;oBACjC,UAAU,EAAE;wBACX,0BAAW;wBACX,gCAAc;wBACd,sBAAS;wBACT,wBAAU;wBACV,mCAAe;wBACf,+BAAa;wBACb,sBAAS;qBAAC;iBACX,CAAC,EAAC;;;CACJ;AAGC,kCAAW"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { HotStaq, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
export declare class AdminButton extends HotComponent {
|
|
3
|
-
constructor(copy:
|
|
3
|
+
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
4
4
|
buttonClicked(): Promise<void>;
|
|
5
5
|
output(): Promise<string>;
|
|
6
6
|
}
|
|
@@ -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,
|
|
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;gBAE/B,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAO7C,aAAa;IAIhB,MAAM;CAIZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-button.js","sourceRoot":"","sources":["../../../src/components/admin-button.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"admin-button.js","sourceRoot":"","sources":["../../../src/components/admin-button.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAE7D;IAAiC,+BAAY;IAE5C,qBAAa,IAA4B,EAAE,GAAW;QAAtD,YAEC,kBAAO,IAAI,EAAE,GAAG,CAAC,SAGjB;QADA,KAAI,CAAC,GAAG,GAAG,cAAc,CAAC;;IAC3B,CAAC;IAEQ,mCAAa,GAAnB;;;;;;KAEC;IAEE,4BAAM,GAAZ;;;gBAEC,sBAAO,CAAC,yBAAiB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,sDAAgD,CAAC,EAAC;;;KAClG;IACF,kBAAC;AAAD,CAAC,AAjBD,CAAiC,sBAAY,GAiB5C;AAjBY,kCAAW"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
export declare class AdminDashboard extends HotComponent {
|
|
3
3
|
/**
|
|
4
4
|
* The title of this dashboard.
|
|
@@ -8,7 +8,7 @@ export declare class AdminDashboard extends HotComponent {
|
|
|
8
8
|
* The base url to use for this dashboard.
|
|
9
9
|
*/
|
|
10
10
|
base: string;
|
|
11
|
-
constructor(copy:
|
|
11
|
+
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
12
12
|
/**
|
|
13
13
|
* Add this table field to the table
|
|
14
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-dashboard.d.ts","sourceRoot":"","sources":["../../../src/components/admin-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"admin-dashboard.d.ts","sourceRoot":"","sources":["../../../src/components/admin-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,cAAe,SAAQ,YAAY;IAE/C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;gBAEA,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAStD;;OAEG;IACG,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAS5F,MAAM,IAAK,OAAO,CAAC,MAAM,CAAC;CAehC"}
|
|
@@ -85,5 +85,4 @@ var AdminDashboard = /** @class */ (function (_super) {
|
|
|
85
85
|
return AdminDashboard;
|
|
86
86
|
}(hotstaq_1.HotComponent));
|
|
87
87
|
exports.AdminDashboard = AdminDashboard;
|
|
88
|
-
hotstaq_1.Hot.CurrentPage.processor.addComponent(AdminDashboard);
|
|
89
88
|
//# sourceMappingURL=admin-dashboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-dashboard.js","sourceRoot":"","sources":["../../../src/components/admin-dashboard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"admin-dashboard.js","sourceRoot":"","sources":["../../../src/components/admin-dashboard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAE7D;IAAoC,kCAAY;IAW/C,wBAAa,IAA4B,EAAE,GAAW;QAAtD,YAEC,kBAAO,IAAI,EAAE,GAAG,CAAC,SAKjB;QAHA,KAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC;QAC7B,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAI,CAAC,IAAI,GAAG,EAAE,CAAC;;IAChB,CAAC;IAED;;OAEG;IACG,oCAAW,GAAjB,UAAmB,iBAA8B,EAAE,WAAwB;;;gBAE1E,kDAAkD;gBAClD,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;oBAClB,aAAG,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBAE9B,sBAAO,CAAC,WAAW,CAAC,EAAC;;;KACrB;IAEK,+BAAM,GAAZ;;;gBAEC,sBAAO,CAAC,gOAGW,IAAI,CAAC,KAAK,8RAQrB,CAAC,EAAC;;;KACV;IACF,qBAAC;AAAD,CAAC,AA/CD,CAAoC,sBAAY,GA+C/C;AA/CY,wCAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
export declare class AdminEdit extends HotComponent {
|
|
3
3
|
/**
|
|
4
4
|
* The title of this dashboard.
|
|
@@ -26,7 +26,7 @@ export declare class AdminEdit extends HotComponent {
|
|
|
26
26
|
* The modal id.
|
|
27
27
|
*/
|
|
28
28
|
modalId: string;
|
|
29
|
-
constructor(copy:
|
|
29
|
+
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
30
30
|
/**
|
|
31
31
|
* Save this form.
|
|
32
32
|
*/
|
|
@@ -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,
|
|
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,MAAM,SAAS,CAAC;AAE7D,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,aAAa,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAC;IACxC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;gBAEH,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAetD;;OAEG;IACG,MAAM;IA0BN,MAAM;;;;CAmCZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-edit.js","sourceRoot":"","sources":["../../../src/components/admin-edit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"admin-edit.js","sourceRoot":"","sources":["../../../src/components/admin-edit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAE7D;IAA+B,6BAAY;IA2B1C,mBAAa,IAA4B,EAAE,GAAW;QAAtD,YAEC,kBAAO,IAAI,EAAE,GAAG,CAAC,SAWjB;QATA,KAAI,CAAC,GAAG,GAAG,YAAY,CAAC;QACxB,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjB,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAExB,KAAI,CAAC,OAAO,GAAG,EAAE,CAAC;;IACnB,CAAC;IAED;;OAEG;IACG,0BAAM,GAAZ;;;;;;wBAEK,MAAM,GAAQ,EAAE,CAAC;wBAErB,KAAS,GAAG,IAAI,IAAI,CAAC,aAAa,EAClC;4BACK,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;4BACvC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;4BAE/B,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;yBACpB;wBAED,qBAAM,aAAG,CAAC,WAAW,CAAE,UAAG,aAAG,CAAC,IAAI,CAAC,OAAO,iBAAc,EAAE;gCACxD,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,MAAM,EAAE,MAAM;6BACd,CAAC,EAAA;;wBAHH,SAGG,CAAC;wBAEA,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAE,IAAI,CAAC,aAAa,CAAC,CAAC;wBAEhE,aAAa;wBACb,qBAAM,YAAY,CAAC,YAAY,CAAC,WAAW,EAAG,EAAA;;wBAD9C,aAAa;wBACb,SAA8C,CAAC;wBAE/C,aAAa;wBACb,CAAC,CAAC,WAAI,IAAI,CAAC,OAAO,CAAE,CAAC,CAAC,KAAK,CAAE,MAAM,CAAC,CAAC;;;;;KACrC;IAEK,0BAAM,GAAZ;;;gBAEC,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE;oBACnB,MAAM,IAAI,KAAK,CAAE,sDAAsD,CAAC,CAAC;gBAE1E,IAAI,CAAC,OAAO,GAAG,UAAG,IAAI,CAAC,IAAI,UAAO,CAAC;gBAEnC,sBAAO,CAAC,CAAC;4BACR,IAAI,EAAE,uBACC,IAAI,CAAC,KAAK,oEACa,IAAI,CAAC,OAAO,kDAAoC,IAAI,CAAC,IAAI,mNAItD,IAAI,CAAC,IAAI,0BAAe,IAAI,CAAC,KAAK,2hBAQoB,IAAI,CAAC,OAAO,6BAAkB,IAAI,CAAC,YAAY,qGAK/H,IAAI,CAAC,KAAK,mBAAgB;4BACjC,cAAc,EAAE,MAAM;yBACtB;wBACD;4BACC,IAAI,EAAC,sHAAwG,IAAI,CAAC,OAAO,sCAAkC;4BAC3J,cAAc,EAAE,kCAAgC;yBAChD,CAAC,CAAC,EAAC;;;KACJ;IACF,gBAAC;AAAD,CAAC,AA1GD,CAA+B,sBAAY,GA0G1C;AA1GY,8BAAS"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { HotStaq, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
export declare class AdminTableField extends HotComponent {
|
|
3
3
|
/**
|
|
4
4
|
* The table field.
|
|
5
5
|
*/
|
|
6
6
|
field: number;
|
|
7
|
-
constructor(copy:
|
|
7
|
+
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
8
8
|
/**
|
|
9
9
|
* Add this table field to the table
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-table-field.d.ts","sourceRoot":"","sources":["../../../src/components/admin-table-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"admin-table-field.d.ts","sourceRoot":"","sources":["../../../src/components/admin-table-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,eAAgB,SAAQ,YAAY;IAEhD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAQtD;;OAEG;IACG,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAU5F,MAAM;;;;CAOZ"}
|
|
@@ -87,5 +87,4 @@ var AdminTableField = /** @class */ (function (_super) {
|
|
|
87
87
|
return AdminTableField;
|
|
88
88
|
}(hotstaq_1.HotComponent));
|
|
89
89
|
exports.AdminTableField = AdminTableField;
|
|
90
|
-
hotstaq_1.Hot.CurrentPage.processor.addComponent(AdminTableField);
|
|
91
90
|
//# sourceMappingURL=admin-table-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-table-field.js","sourceRoot":"","sources":["../../../src/components/admin-table-field.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"admin-table-field.js","sourceRoot":"","sources":["../../../src/components/admin-table-field.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAE7D;IAAqC,mCAAY;IAOhD,yBAAa,IAA4B,EAAE,GAAW;QAAtD,YAEC,kBAAO,IAAI,EAAE,GAAG,CAAC,SAIjB;QAFA,KAAI,CAAC,GAAG,GAAG,mBAAmB,CAAC;QAC/B,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC;;IAChB,CAAC;IAED;;OAEG;IACG,qCAAW,GAAjB,UAAmB,iBAA8B,EAAE,WAAwB;;;;gBAGtE,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC;gBAEnF,YAAY,CAAC,iBAAiB,CAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBAEnD,sBAAO,CAAC,WAAW,CAAC,EAAC;;;KACrB;IAEK,gCAAM,GAAZ;;;gBAEC,sBAAO,CAAC,CAAC;4BACR,IAAI,EAAE,cAAO,IAAI,CAAC,KAAK,UAAO;4BAC9B,eAAe,EAAE,QAAQ;yBACzB,CAAC,CAAC,EAAC;;;KACJ;IACF,sBAAC;AAAD,CAAC,AAnCD,CAAqC,sBAAY,GAmChD;AAnCY,0CAAe"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { HotStaq, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
export declare class AdminTableRow extends HotComponent {
|
|
3
3
|
/**
|
|
4
4
|
* The table row fields.
|
|
5
5
|
*/
|
|
6
6
|
fields: any[];
|
|
7
|
-
constructor(copy:
|
|
7
|
+
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
8
8
|
/**
|
|
9
9
|
* Add this table row to the table
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-table-row.d.ts","sourceRoot":"","sources":["../../../src/components/admin-table-row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"admin-table-row.d.ts","sourceRoot":"","sources":["../../../src/components/admin-table-row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,aAAc,SAAQ,YAAY;IAE9C;;OAEG;IACH,MAAM,EAAE,GAAG,EAAE,CAAC;gBAED,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAatD;;OAEG;IACG,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAQ5F,MAAM;;;;CAqBZ"}
|
|
@@ -100,5 +100,4 @@ var AdminTableRow = /** @class */ (function (_super) {
|
|
|
100
100
|
return AdminTableRow;
|
|
101
101
|
}(hotstaq_1.HotComponent));
|
|
102
102
|
exports.AdminTableRow = AdminTableRow;
|
|
103
|
-
hotstaq_1.Hot.CurrentPage.processor.addComponent(AdminTableRow);
|
|
104
103
|
//# sourceMappingURL=admin-table-row.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-table-row.js","sourceRoot":"","sources":["../../../src/components/admin-table-row.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"admin-table-row.js","sourceRoot":"","sources":["../../../src/components/admin-table-row.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAE7D;IAAmC,iCAAY;IAO9C,uBAAa,IAA4B,EAAE,GAAW;QAAtD,YAEC,kBAAO,IAAI,EAAE,GAAG,CAAC,SASjB;QAPA,KAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC;QAC7B;;;;WAIG;QACH,KAAI,CAAC,MAAM,GAAG,EAAE,CAAC;;IAClB,CAAC;IAED;;OAEG;IACG,mCAAW,GAAjB,UAAmB,iBAA8B,EAAE,WAAwB;;;gBAE1E,aAAa;gBACb,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAC,CAAC,CAAC;gBAEhI,sBAAO,CAAC,WAAW,CAAC,EAAC;;;KACrB;IAEK,8BAAM,GAAZ;;;;gBAEK,OAAO,GAAG,EAAE,CAAC;gBAEjB,KAAS,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EACpD;oBACK,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAEjC,KAAS,GAAG,IAAI,QAAQ,EACxB;wBACK,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAE1B,OAAO,IAAI,cAAO,KAAK,UAAO,CAAC;qBAC/B;iBACD;gBAED,sBAAO,CAAC,CAAC;4BACR,IAAI,EAAE,cAAO,OAAO,UAAO;4BAC3B,eAAe,EAAE,SAAS;yBAC1B,CAAC,CAAC,EAAC;;;KACJ;IACF,oBAAC;AAAD,CAAC,AApDD,CAAmC,sBAAY,GAoD9C;AApDY,sCAAa"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
import { AdminTableField } from "./admin-table-field";
|
|
3
3
|
export declare class AdminTable extends HotComponent {
|
|
4
4
|
/**
|
|
@@ -41,7 +41,7 @@ export declare class AdminTable extends HotComponent {
|
|
|
41
41
|
fields: any[];
|
|
42
42
|
html: string;
|
|
43
43
|
}[];
|
|
44
|
-
constructor(copy:
|
|
44
|
+
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
45
45
|
/**
|
|
46
46
|
* Add a header to the table.
|
|
47
47
|
*/
|
|
@@ -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,
|
|
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,MAAM,SAAS,CAAC;AAC7D,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;;;;OAIG;IACH,cAAc,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAM;IAC9C;;;;OAIG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;;;;;;;OAaG;IACH,WAAW,EAAE;QAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,EAAE,CAAM;gBAExC,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAYtD;;OAEG;IACH,SAAS,CAAE,iBAAiB,EAAE,WAAW;IASzC;;OAEG;IACH,iBAAiB,CAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW;IAMxE;;;;OAIG;IACH,MAAM,CAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE;IAmBzC;;OAEG;IACG,SAAS;IAOf;;OAEG;IACG,WAAW;IAgBjB;;OAEG;IACG,WAAW,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAU5F,MAAM;CAeZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-table.js","sourceRoot":"","sources":["../../../src/components/admin-table.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"admin-table.js","sourceRoot":"","sources":["../../../src/components/admin-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { HotStaq, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
export declare class AdminText extends HotComponent {
|
|
3
3
|
/**
|
|
4
4
|
* The associated database field.
|
|
5
5
|
*/
|
|
6
6
|
field: string;
|
|
7
|
-
constructor(copy:
|
|
7
|
+
constructor(copy: HotComponent | HotStaq, api: HotAPI);
|
|
8
8
|
/**
|
|
9
9
|
* Corrects the placement of the text elements for modals.
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-text.d.ts","sourceRoot":"","sources":["../../../src/components/admin-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"admin-text.d.ts","sourceRoot":"","sources":["../../../src/components/admin-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAO,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE7D,qBAAa,SAAU,SAAQ,YAAY;IAE1C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,YAAY,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM;IAQtD;;OAEG;IACG,aAAa,CAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAevF,MAAM;CAMZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-text.js","sourceRoot":"","sources":["../../../src/components/admin-text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"admin-text.js","sourceRoot":"","sources":["../../../src/components/admin-text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA6D;AAE7D;IAA+B,6BAAY;IAO1C,mBAAa,IAA4B,EAAE,GAAW;QAAtD,YAEC,kBAAO,IAAI,EAAE,GAAG,CAAC,SAIjB;QAFA,KAAI,CAAC,GAAG,GAAG,YAAY,CAAC;QACxB,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC;;IACjB,CAAC;IAED;;OAEG;IACG,iCAAa,GAAnB,UAAqB,iBAA8B,EAAE,WAAwB;;;;gBAExE,cAAc,GAAG,iBAAiB,CAAC,gBAAgB,CAAE,gCAA8B,CAAC,CAAC;gBAEzF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAC7B;oBACK,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBAClC,iBAAiB,CAAC,WAAW,CAAE,WAAW,CAAC,CAAC;oBAC5C,SAAS,CAAC,WAAW,CAAE,WAAW,CAAC,CAAC;oBAEpC,aAAa;oBACb,iBAAiB,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,aAAa,CAAE,OAAO,CAAC,CAAC;iBAC/F;;;;KACD;IAEK,0BAAM,GAAZ;;;gBAEC,sBAAO,CAAC,mDACqB,IAAI,CAAC,KAAK,sFAChC,CAAC,EAAC;;;KACT;IACF,gBAAC;AAAD,CAAC,AAvCD,CAA+B,sBAAY,GAuC1C;AAvCY,8BAAS"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var AdminPanelWeb;(()=>{"use strict";var t={1:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{r(i.next(t))}catch(t){a(t)}}function d(t){try{r(i.throw(t))}catch(t){a(t)}}function r(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,d)}r((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminText=e.AdminTableRow=e.AdminTableField=e.AdminTable=e.AdminEdit=e.AdminDashboard=e.AdminButton=e.buildAssets=void 0;const o=n(176);Object.defineProperty(e,"AdminButton",{enumerable:!0,get:function(){return o.AdminButton}});const a=n(50);Object.defineProperty(e,"AdminDashboard",{enumerable:!0,get:function(){return a.AdminDashboard}});const s=n(703);Object.defineProperty(e,"AdminEdit",{enumerable:!0,get:function(){return s.AdminEdit}});const d=n(952);Object.defineProperty(e,"AdminTable",{enumerable:!0,get:function(){return d.AdminTable}});const r=n(505);Object.defineProperty(e,"AdminTableField",{enumerable:!0,get:function(){return r.AdminTableField}});const l=n(412);Object.defineProperty(e,"AdminTableRow",{enumerable:!0,get:function(){return l.AdminTableRow}});const c=n(80);Object.defineProperty(e,"AdminText",{enumerable:!0,get:function(){return c.AdminText}}),e.buildAssets=function(){return i(this,void 0,void 0,(function*(){return{import:[{name:"bootstrap",files:["bootstrap.min.js","bootstrap.min.css"]},{name:"jquery",files:["jquery.min.js"]},"chart.js","feather-icons","@popperjs/core"],html:["./assets/html/*.*"],css:["./assets/css/*.*"],js:["./assets/js/*.*","./build-web/AdminPanel.js"],componentLibrary:"AdminPanelWeb",components:[o.AdminButton,a.AdminDashboard,s.AdminEdit,d.AdminTable,r.AdminTableField,l.AdminTableRow,c.AdminText]}}))}},176:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{r(i.next(t))}catch(t){a(t)}}function d(t){try{r(i.throw(t))}catch(t){a(t)}}function r(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,d)}r((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminButton=void 0;const o=n(607);class a extends o.HotComponent{constructor(t,e){super(t,e),this.tag="admin-button"}buttonClicked(){return i(this,void 0,void 0,(function*(){}))}output(){return i(this,void 0,void 0,(function*(){return`<button id = "${this.htmlElements[0].id}" onclick = "this.buttonClicked ();"></button>`}))}}e.AdminButton=a},50:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{r(i.next(t))}catch(t){a(t)}}function d(t){try{r(i.throw(t))}catch(t){a(t)}}function r(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,d)}r((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminDashboard=void 0;const o=n(607);class a extends o.HotComponent{constructor(t,e){super(t,e),this.tag="admin-dashboard",this.title="",this.base=""}onPostPlace(t,e){return i(this,void 0,void 0,(function*(){return""!=this.base&&(o.Hot.Data.baseUrl=this.base),e}))}output(){return i(this,void 0,void 0,(function*(){return`\n\t\t<main class="col-md-9 ms-sm-auto col-lg-10 px-md-4">\n\t\t\t<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">\n\t\t\t\t<h1 class="h2">${this.title}</h1>\n\t\t\t\t<div class="btn-toolbar mb-2 mb-md-0">\n\t\t\t\t\t<div class="btn-group me-2">\n\t\t\t\t\t\t<hot-place-here name = "buttons"></hot-place-here>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<hot-place-here name = "body"></hot-place-here>\n\t\t</main>`}))}}e.AdminDashboard=a},703:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{r(i.next(t))}catch(t){a(t)}}function d(t){try{r(i.throw(t))}catch(t){a(t)}}function r(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,d)}r((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminEdit=void 0;const o=n(607);class a extends o.HotComponent{constructor(t,e){super(t,e),this.tag="admin-edit",this.title="",this.button_title="",this.attached_list="",this.schema="",this.fieldElements={},this.modalId=""}onSave(){return i(this,void 0,void 0,(function*(){let t={};for(let e in this.fieldElements){let n=this.fieldElements[e].value;t[e]=n}yield o.Hot.jsonRequest(`${o.Hot.Data.baseUrl}/v1/data/add`,{schema:this.schema,fields:t});let e=document.getElementById(this.attached_list);yield e.hotComponent.refreshList(),$(`#${this.modalId}`).modal("hide")}))}output(){return i(this,void 0,void 0,(function*(){if(""===this.name)throw new Error("You must specify a name for each admin-edit element!");return this.modalId=`${this.name}Modal`,[{html:`\n\t\t\t\x3c!-- ${this.title} Modal Start --\x3e\n\t\t\t<div class="modal fade" id="${this.modalId}" tabindex="-1" aria-labelledby="${this.name}ModalLabel" aria-hidden="true">\n\t\t\t\t<div class="modal-dialog">\n\t\t\t\t\t<div class="modal-content">\n\t\t\t\t\t<div class="modal-header">\n\t\t\t\t\t\t<h5 class="modal-title" id="${this.name}ModalLabel">${this.title}</h5>\n\t\t\t\t\t\t<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="modal-body">\n\t\t\t\t\t\t<hot-place-here name = "modalBody" type = "modal"></hot-place-here>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="modal-footer">\n\t\t\t\t\t\t<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>\n\t\t\t\t\t\t<button type="button" class="btn btn-primary" onclick = "document.getElementById('${this.modalId}').onSave ();">${this.button_title}</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t\x3c!-- ${this.title} Modal End --\x3e`,parentSelector:"body"},{html:`<button type="button" class="btn btn-sm btn-outline-secondary" data-bs-toggle="modal" onclick = "$('#${this.modalId}').modal ('show');">Add</button>`,parentSelector:'hot-place-here[name="buttons"]'}]}))}}e.AdminEdit=a},505:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{r(i.next(t))}catch(t){a(t)}}function d(t){try{r(i.throw(t))}catch(t){a(t)}}function r(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,d)}r((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTableField=void 0;const o=n(607);class a extends o.HotComponent{constructor(t,e){super(t,e),this.tag="admin-table-field",this.field=0}onPostPlace(t,e){return i(this,void 0,void 0,(function*(){return t.parentNode.parentNode.parentNode.hotComponent.addHeaderDataOnly(this,e),e}))}output(){return i(this,void 0,void 0,(function*(){return[{html:`<th>${this.inner}</th>`,placeHereParent:"header"}]}))}}e.AdminTableField=a},412:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{r(i.next(t))}catch(t){a(t)}}function d(t){try{r(i.throw(t))}catch(t){a(t)}}function r(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,d)}r((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTableRow=void 0;const o=n(607);class a extends o.HotComponent{constructor(t,e){super(t,e),this.tag="admin-table-row",this.fields=[]}onPostPlace(t,e){return i(this,void 0,void 0,(function*(){return t.parentNode.parentNode.parentNode.hotComponent.rowElements.push({fields:this.fields,element:e}),e}))}output(){return i(this,void 0,void 0,(function*(){let t="";for(let e=0;e<this.fields.length;e++){let n=this.fields[e];for(let e in n)t+=`<td>${n[e]}</td>`}return[{html:`<tr>${t}</tr>`,placeHereParent:"results"}]}))}}e.AdminTableRow=a},952:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{r(i.next(t))}catch(t){a(t)}}function d(t){try{r(i.throw(t))}catch(t){a(t)}}function r(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,d)}r((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminTable=void 0;const o=n(607);class a extends o.HotComponent{constructor(t,e){super(t,e),this.headerElements={},this.rowElements=[],this.tag="admin-table",this.title="",this.schema="",this.headerElements={},this.headerIndicies=[],this.rowElements=[]}addHeader(t){let e=this.htmlElements[0].getElementsByTagName("thead")[0];this.headerIndicies.push(t.hotComponent.field),e.appendChild(t)}addHeaderDataOnly(t,e){this.headerIndicies.push(t.field),this.headerElements[t.field]=e}addRow(t){let e=this.htmlElements[1].getElementsByTagName("tbody")[0],n="<tr>";for(let e=0;e<this.headerIndicies.length;e++){let i=this.headerIndicies[e],o=t[i];null!=this.headerElements[i]&&(n+=`<td>${o}</td>`)}n+="</tr>",o.HotStaq.addHtml(e,n)}clearRows(){return i(this,void 0,void 0,(function*(){this.htmlElements[1].getElementsByTagName("tbody")[0].innerHTML=""}))}refreshList(){return i(this,void 0,void 0,(function*(){let t=yield o.Hot.jsonRequest(`${o.Hot.Data.baseUrl}/v1/data/list`,{schema:this.schema});this.clearRows();for(let e=0;e<t.length;e++){let n=t[e];this.addRow(n)}}))}onPostPlace(t,e){return i(this,void 0,void 0,(function*(){return setTimeout((()=>i(this,void 0,void 0,(function*(){yield this.refreshList()}))),50),e}))}output(){return i(this,void 0,void 0,(function*(){return`\n\t\t<div id = "${this.htmlElements[0].id}">\n\t\t\t<h2>${this.title}</h2>\n\t\t\t<div class="table-responsive">\n\t\t\t<table class="table table-striped table-sm">\n\t\t\t\t<thead hot-place-here = "header">\n\t\t\t\t</thead>\n\t\t\t\t<tbody hot-place-here = "results">\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t</div>\n\t\t</div>`}))}}e.AdminTable=a},80:function(t,e,n){var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function s(t){try{r(i.next(t))}catch(t){a(t)}}function d(t){try{r(i.throw(t))}catch(t){a(t)}}function r(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(s,d)}r((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.AdminText=void 0;const o=n(607);class a extends o.HotComponent{constructor(t,e){super(t,e),this.tag="admin-text",this.field=""}onParentPlace(t,e){return i(this,void 0,void 0,(function*(){let n=t.querySelectorAll('hot-place-here[type="modal"]');if(n.length>0){let i=n[0];t.removeChild(e),i.appendChild(e),t.hotComponent.fieldElements[this.field]=e.querySelector("input")}}))}output(){return i(this,void 0,void 0,(function*(){return`<div>\n\t\t\t<label class="form-label">${this.inner}</label><input class="form-control" type = "text" value = "" />\n\t\t</div>`}))}}e.AdminText=a},607:t=>{t.exports=HotStaqWeb}},e={},n=function n(i){var o=e[i];if(void 0!==o)return o.exports;var a=e[i]={exports:{}};return t[i].call(a.exports,a,a.exports,n),a.exports}(1);AdminPanelWeb=n})();
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRtaW5QYW5lbC5qcyIsIm1hcHBpbmdzIjoiMGlCQUFBLGVBaUNFLDJFQWpDTyxFQUFBQSxXQUFXLElBQ3BCLGNBaUNFLDhFQWpDTyxFQUFBQyxjQUFjLElBQ3ZCLGVBaUNFLHlFQWpDTyxFQUFBQyxTQUFTLElBQ2xCLGVBaUNFLDBFQWpDTyxFQUFBQyxVQUFVLElBQ25CLGVBaUNFLCtFQWpDTyxFQUFBQyxlQUFlLElBQ3hCLGVBaUNFLDZFQWpDTyxFQUFBQyxhQUFhLElBQ3RCLGNBaUNFLHlFQWpDTyxFQUFBQyxTQUFTLElBMEJoQixFQUFBQyxZQXhCRixXLHlDQUVDLE1BQU8sQ0FDTEMsT0FBUSxDQUFDLENBQUVDLEtBQU0sWUFBYUMsTUFBTyxDQUFDLG1CQUFvQixzQkFDekQsQ0FBRUQsS0FBTSxTQUFVQyxNQUFPLENBQUMsa0JBQzFCLFdBQ0EsZ0JBQ0Esa0JBQ0RDLEtBQU0sQ0FBQyxxQkFDUEMsSUFBSyxDQUFDLG9CQUNOQyxHQUFJLENBQUMsa0JBQW1CLDZCQUN4QkMsaUJBQWtCLGdCQUNsQkMsV0FBWSxDQUNYLEVBQUFmLFlBQ0EsRUFBQUMsZUFDQSxFQUFBQyxVQUNBLEVBQUFDLFdBQ0EsRUFBQUMsZ0JBQ0EsRUFBQUMsY0FDQSxFQUFBQyxXQUVKLEcsNlpDN0JBLGVBRUEsTUFBYU4sVUFBb0IsRUFBQWdCLGFBRWhDQyxZQUFhQyxFQUE4QkMsR0FFMUNDLE1BQU9GLEVBQU1DLEdBRWJFLEtBQUtDLElBQU0sY0FDWixDQUVTQyxnQix5Q0FFTixHLENBRUdDLFMseUNBRUwsTUFBTyxpQkFBa0JILEtBQUtJLGFBQWEsR0FBR0Msa0RBQy9DLEcsRUFoQkQsZSw4WkNGQSxlQUVBLE1BQWF6QixVQUF1QixFQUFBZSxhQVduQ0MsWUFBYUMsRUFBOEJDLEdBRTFDQyxNQUFPRixFQUFNQyxHQUViRSxLQUFLQyxJQUFNLGtCQUNYRCxLQUFLTSxNQUFRLEdBQ2JOLEtBQUtPLEtBQU8sRUFDYixDQUtNQyxZQUFhQyxFQUFnQ0MsRyx5Q0FNbEQsTUFIaUIsSUFBYlYsS0FBS08sT0FDUixFQUFBSSxJQUFJQyxLQUFLQyxRQUFVYixLQUFLTyxNQUVsQixDQUNSLEcsQ0FFTUosUyx5Q0FFTCxNQUFPLG1OQUdZSCxLQUFLTSx3UkFTekIsRyxFQTlDRCxrQiwwWkNGQSxlQUVBLE1BQWF6QixVQUFrQixFQUFBYyxhQTJCOUJDLFlBQWFDLEVBQThCQyxHQUUxQ0MsTUFBT0YsRUFBTUMsR0FFYkUsS0FBS0MsSUFBTSxhQUNYRCxLQUFLTSxNQUFRLEdBQ2JOLEtBQUtjLGFBQWUsR0FDcEJkLEtBQUtlLGNBQWdCLEdBQ3JCZixLQUFLZ0IsT0FBUyxHQUVkaEIsS0FBS2lCLGNBQWdCLENBQUMsRUFFdEJqQixLQUFLa0IsUUFBVSxFQUNoQixDQUtNQyxTLHlDQUVMLElBQUlDLEVBQWMsQ0FBQyxFQUVuQixJQUFLLElBQUlDLEtBQU9yQixLQUFLaUIsY0FDckIsQ0FDQyxJQUNJSyxFQURldEIsS0FBS2lCLGNBQWNJLEdBQ2JDLE1BRXpCRixFQUFPQyxHQUFPQyxDLE9BR1QsRUFBQVgsSUFBSVksWUFBYSxHQUFHLEVBQUFaLElBQUlDLEtBQUtDLHNCQUF1QixDQUN4REcsT0FBUWhCLEtBQUtnQixPQUNiUSxPQUFRSixJQUdWLElBQUlLLEVBQWVDLFNBQVNDLGVBQWdCM0IsS0FBS2UscUJBRzNDVSxFQUFhRyxhQUFhQyxjQUdoQ0MsRUFBRSxJQUFJOUIsS0FBS2tCLFdBQVdhLE1BQU8sT0FDOUIsRyxDQUVNNUIsUyx5Q0FFTCxHQUFrQixLQUFkSCxLQUFLWixLQUNSLE1BQU0sSUFBSTRDLE1BQU8sd0RBSWxCLE9BRkFoQyxLQUFLa0IsUUFBVSxHQUFHbEIsS0FBS1osWUFFaEIsQ0FBRSxDQUNSRSxLQUFNLG1CQUNDVSxLQUFLTSwrREFDa0JOLEtBQUtrQiwyQ0FBMkNsQixLQUFLWixpTUFJbERZLEtBQUtaLG1CQUFtQlksS0FBS00sMmZBUXlCTixLQUFLa0IseUJBQXlCbEIsS0FBS2MsMEdBS25IZCxLQUFLTSx5QkFDWjJCLGVBQWdCLFFBRWpCLENBQ0MzQyxLQUFLLHdHQUF3R1UsS0FBS2tCLDBDQUNsSGUsZUFBZ0Isa0NBRWxCLEcsRUF6R0QsYSxnYUNGQSxlQUVBLE1BQWFsRCxVQUF3QixFQUFBWSxhQU9wQ0MsWUFBYUMsRUFBOEJDLEdBRTFDQyxNQUFPRixFQUFNQyxHQUViRSxLQUFLQyxJQUFNLG9CQUNYRCxLQUFLa0MsTUFBUSxDQUNkLENBS00xQixZQUFhQyxFQUFnQ0MsRyx5Q0FPbEQsT0FKbUJELEVBQWtCMEIsV0FBV0EsV0FBV0EsV0FBV1AsYUFFekRRLGtCQUFtQnBDLEtBQU1VLEdBRS9CLENBQ1IsRyxDQUVNUCxTLHlDQUVMLE1BQU8sQ0FBRSxDQUNSYixLQUFNLE9BQU9VLEtBQUtxQyxhQUNsQkMsZ0JBQWlCLFVBRW5CLEcsRUFsQ0QsbUIsOFpDRkEsZUFFQSxNQUFhdEQsVUFBc0IsRUFBQVcsYUFPbENDLFlBQWFDLEVBQThCQyxHQUUxQ0MsTUFBT0YsRUFBTUMsR0FFYkUsS0FBS0MsSUFBTSxrQkFNWEQsS0FBS3dCLE9BQVMsRUFDZixDQUtNaEIsWUFBYUMsRUFBZ0NDLEcseUNBS2xELE9BRkFELEVBQWtCMEIsV0FBV0EsV0FBV0EsV0FBV1AsYUFBYVcsWUFBWUMsS0FBTSxDQUFFaEIsT0FBUXhCLEtBQUt3QixPQUFRaUIsUUFBUy9CLElBRTNHLENBQ1IsRyxDQUVNUCxTLHlDQUVMLElBQUl1QyxFQUFVLEdBRWQsSUFBSyxJQUFJQyxFQUFPLEVBQUdBLEVBQU8zQyxLQUFLd0IsT0FBT29CLE9BQVFELElBQzlDLENBQ0MsSUFBSUUsRUFBVzdDLEtBQUt3QixPQUFPbUIsR0FFM0IsSUFBSyxJQUFJdEIsS0FBT3dCLEVBSWZILEdBQVcsT0FGQ0csRUFBU3hCLFMsQ0FNdkIsTUFBTyxDQUFFLENBQ1IvQixLQUFNLE9BQU9vRCxTQUNiSixnQkFBaUIsV0FFbkIsRyxFQW5ERCxpQiwyWkNGQSxlQUdBLE1BQWF4RCxVQUFtQixFQUFBYSxhQXNDL0JDLFlBQWFDLEVBQThCQyxHQUUxQ0MsTUFBT0YsRUFBTUMsR0F6QmQsS0FBQWdELGVBQTJDLENBQUMsRUFxQjVDLEtBQUFQLFlBQWtELEdBTWpEdkMsS0FBS0MsSUFBTSxjQUNYRCxLQUFLTSxNQUFRLEdBQ2JOLEtBQUtnQixPQUFTLEdBQ2RoQixLQUFLOEMsZUFBaUIsQ0FBQyxFQUN2QjlDLEtBQUsrQyxlQUFpQixHQUN0Qi9DLEtBQUt1QyxZQUFjLEVBQ3BCLENBS0FTLFVBQVdDLEdBRVYsSUFBSUMsRUFBU2xELEtBQUtJLGFBQWEsR0FBRytDLHFCQUFzQixTQUFTLEdBR2pFbkQsS0FBSytDLGVBQWVQLEtBQU1TLEVBQWtCckIsYUFBYU0sT0FDekRnQixFQUFPRSxZQUFhSCxFQUNyQixDQUtBYixrQkFBbUJpQixFQUE2QjNDLEdBRS9DVixLQUFLK0MsZUFBZVAsS0FBTWEsRUFBV25CLE9BQ3JDbEMsS0FBSzhDLGVBQWVPLEVBQVduQixPQUFTeEIsQ0FDekMsQ0FPQTRDLE9BQVE5QixHQUVQLElBQUkrQixFQUFRdkQsS0FBS0ksYUFBYSxHQUFHK0MscUJBQXNCLFNBQVMsR0FDNURLLEVBQVMsT0FFYixJQUFLLElBQUliLEVBQU8sRUFBR0EsRUFBTzNDLEtBQUsrQyxlQUFlSCxPQUFRRCxJQUN0RCxDQUNDLElBQUl0QixFQUFNckIsS0FBSytDLGVBQWVKLEdBQzFCckIsRUFBUUUsRUFBT0gsR0FFYSxNQUE1QnJCLEtBQUs4QyxlQUFlekIsS0FDdkJtQyxHQUFVLE9BQU9sQyxTLENBR25Ca0MsR0FBVSxRQUVWLEVBQUFDLFFBQVFDLFFBQVNILEVBQU9DLEVBQ3pCLENBS01HLFkseUNBRU8zRCxLQUFLSSxhQUFhLEdBQUcrQyxxQkFBc0IsU0FBUyxHQUUxRFMsVUFBWSxFQUNuQixHLENBS00vQixjLHlDQUVMLElBQUlnQyxRQUFhLEVBQUFsRCxJQUFJWSxZQUFhLEdBQUcsRUFBQVosSUFBSUMsS0FBS0MsdUJBQXdCLENBQ3BFRyxPQUFRaEIsS0FBS2dCLFNBR2ZoQixLQUFLMkQsWUFFTCxJQUFLLElBQUloQixFQUFPLEVBQUdBLEVBQU9rQixFQUFLakIsT0FBUUQsSUFDdkMsQ0FDQyxJQUFJbkIsRUFBU3FDLEVBQUtsQixHQUVsQjNDLEtBQUtzRCxPQUFROUIsRSxDQUVmLEcsQ0FLTWhCLFlBQWFDLEVBQWdDQyxHLHlDQU9sRCxPQUxBb0QsWUFBWSxJQUFXLHdDQUVmOUQsS0FBSzZCLGFBQ1osS0FBRyxJQUVHLENBQ1IsRyxDQUVNMUIsUyx5Q0FFTCxNQUFPLG9CQUNNSCxLQUFLSSxhQUFhLEdBQUdDLG1CQUMzQkwsS0FBS00sMlFBVWIsRyxFQXZKRCxjLHlaQ0hBLGVBRUEsTUFBYXJCLFVBQWtCLEVBQUFVLGFBTzlCQyxZQUFhQyxFQUE4QkMsR0FFMUNDLE1BQU9GLEVBQU1DLEdBRWJFLEtBQUtDLElBQU0sYUFDWEQsS0FBS2tDLE1BQVEsRUFDZCxDQUtNNkIsY0FBZXRELEVBQWdDQyxHLHlDQUVwRCxJQUFJc0QsRUFBaUJ2RCxFQUFrQndELGlCQUFrQixnQ0FFekQsR0FBSUQsRUFBZXBCLE9BQVMsRUFDNUIsQ0FDQyxJQUFJc0IsRUFBWUYsRUFBZSxHQUMvQnZELEVBQWtCMEQsWUFBYXpELEdBQy9Cd0QsRUFBVWQsWUFBYTFDLEdBR3ZCRCxFQUFrQm1CLGFBQWFYLGNBQWNqQixLQUFLa0MsT0FBU3hCLEVBQVkwRCxjQUFlLFEsQ0FFeEYsRyxDQUVNakUsUyx5Q0FFTCxNQUFPLDBDQUNzQkgsS0FBS3FDLGtGQUVuQyxHLEVBdENELGEsVUNGQWdDLEVBQU9DLFFBQVVDLFUsR0NDYkMsRUFBMkIsQ0FBQyxFQ0U1QkMsRURDSixTQUFTQyxFQUFvQkMsR0FFNUIsSUFBSUMsRUFBZUosRUFBeUJHLEdBQzVDLFFBQXFCRSxJQUFqQkQsRUFDSCxPQUFPQSxFQUFhTixRQUdyQixJQUFJRCxFQUFTRyxFQUF5QkcsR0FBWSxDQUdqREwsUUFBUyxDQUFDLEdBT1gsT0FIQVEsRUFBb0JILEdBQVVJLEtBQUtWLEVBQU9DLFFBQVNELEVBQVFBLEVBQU9DLFFBQVNJLEdBR3BFTCxFQUFPQyxPQUNmLENDbkIwQkksQ0FBb0IsRyIsInNvdXJjZXMiOlsid2VicGFjazovL0FkbWluUGFuZWxXZWIvLi9zcmMvV2ViRXhwb3J0LnRzIiwid2VicGFjazovL0FkbWluUGFuZWxXZWIvLi9zcmMvY29tcG9uZW50cy9hZG1pbi1idXR0b24udHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbFdlYi8uL3NyYy9jb21wb25lbnRzL2FkbWluLWRhc2hib2FyZC50cyIsIndlYnBhY2s6Ly9BZG1pblBhbmVsV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tZWRpdC50cyIsIndlYnBhY2s6Ly9BZG1pblBhbmVsV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tdGFibGUtZmllbGQudHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbFdlYi8uL3NyYy9jb21wb25lbnRzL2FkbWluLXRhYmxlLXJvdy50cyIsIndlYnBhY2s6Ly9BZG1pblBhbmVsV2ViLy4vc3JjL2NvbXBvbmVudHMvYWRtaW4tdGFibGUudHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbFdlYi8uL3NyYy9jb21wb25lbnRzL2FkbWluLXRleHQudHMiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbFdlYi9leHRlcm5hbCB2YXIgXCJIb3RTdGFxV2ViXCIiLCJ3ZWJwYWNrOi8vQWRtaW5QYW5lbFdlYi93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9BZG1pblBhbmVsV2ViL3dlYnBhY2svc3RhcnR1cCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZG1pbkJ1dHRvbiB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRtaW4tYnV0dG9uXCI7XG5pbXBvcnQgeyBBZG1pbkRhc2hib2FyZCB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRtaW4tZGFzaGJvYXJkXCI7XG5pbXBvcnQgeyBBZG1pbkVkaXQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLWVkaXRcIjtcbmltcG9ydCB7IEFkbWluVGFibGUgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLXRhYmxlXCI7XG5pbXBvcnQgeyBBZG1pblRhYmxlRmllbGQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2FkbWluLXRhYmxlLWZpZWxkXCI7XG5pbXBvcnQgeyBBZG1pblRhYmxlUm93IH0gZnJvbSBcIi4vY29tcG9uZW50cy9hZG1pbi10YWJsZS1yb3dcIjtcbmltcG9ydCB7IEFkbWluVGV4dCB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWRtaW4tdGV4dFwiO1xuXG5hc3luYyBmdW5jdGlvbiBidWlsZEFzc2V0cyAoKTogUHJvbWlzZTxhbnk+XG57XG5cdHJldHVybiAoe1xuXHRcdFx0aW1wb3J0OiBbeyBuYW1lOiBcImJvb3RzdHJhcFwiLCBmaWxlczogW1wiYm9vdHN0cmFwLm1pbi5qc1wiLCBcImJvb3RzdHJhcC5taW4uY3NzXCJdIH0sIFxuXHRcdFx0XHR7IG5hbWU6IFwianF1ZXJ5XCIsIGZpbGVzOiBbXCJqcXVlcnkubWluLmpzXCJdIH0sIFxuXHRcdFx0XHRcImNoYXJ0LmpzXCIsIFxuXHRcdFx0XHRcImZlYXRoZXItaWNvbnNcIiwgXG5cdFx0XHRcdFwiQHBvcHBlcmpzL2NvcmVcIl0sXG5cdFx0XHRodG1sOiBbXCIuL2Fzc2V0cy9odG1sLyouKlwiXSxcblx0XHRcdGNzczogW1wiLi9hc3NldHMvY3NzLyouKlwiXSxcblx0XHRcdGpzOiBbXCIuL2Fzc2V0cy9qcy8qLipcIiwgXCIuL2J1aWxkLXdlYi9BZG1pblBhbmVsLmpzXCJdLFxuXHRcdFx0Y29tcG9uZW50TGlicmFyeTogXCJBZG1pblBhbmVsV2ViXCIsXG5cdFx0XHRjb21wb25lbnRzOiBbXG5cdFx0XHRcdEFkbWluQnV0dG9uLFxuXHRcdFx0XHRBZG1pbkRhc2hib2FyZCxcblx0XHRcdFx0QWRtaW5FZGl0LFxuXHRcdFx0XHRBZG1pblRhYmxlLFxuXHRcdFx0XHRBZG1pblRhYmxlRmllbGQsXG5cdFx0XHRcdEFkbWluVGFibGVSb3csXG5cdFx0XHRcdEFkbWluVGV4dF1cblx0XHR9KTtcbn1cblxuZXhwb3J0IHtcblx0XHRidWlsZEFzc2V0cyxcblx0XHRBZG1pbkJ1dHRvbixcblx0XHRBZG1pbkRhc2hib2FyZCxcblx0XHRBZG1pbkVkaXQsXG5cdFx0QWRtaW5UYWJsZSxcblx0XHRBZG1pblRhYmxlRmllbGQsXG5cdFx0QWRtaW5UYWJsZVJvdyxcblx0XHRBZG1pblRleHRcblx0fTsiLCJpbXBvcnQgeyBIb3RTdGFxLCBIb3QsIEhvdEFQSSwgSG90Q29tcG9uZW50IH0gZnJvbSBcImhvdHN0YXFcIjtcblxuZXhwb3J0IGNsYXNzIEFkbWluQnV0dG9uIGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdGNvbnN0cnVjdG9yIChjb3B5OiBIb3RDb21wb25lbnQgfCBIb3RTdGFxLCBhcGk6IEhvdEFQSSlcblx0e1xuXHRcdHN1cGVyIChjb3B5LCBhcGkpO1xuXG5cdFx0dGhpcy50YWcgPSBcImFkbWluLWJ1dHRvblwiO1xuXHR9XG5cbiAgICBhc3luYyBidXR0b25DbGlja2VkICgpXG4gICAge1xuICAgIH1cblxuXHRhc3luYyBvdXRwdXQgKClcblx0e1xuXHRcdHJldHVybiAoYDxidXR0b24gaWQgPSBcIiR7dGhpcy5odG1sRWxlbWVudHNbMF0uaWR9XCIgb25jbGljayA9IFwidGhpcy5idXR0b25DbGlja2VkICgpO1wiPjwvYnV0dG9uPmApO1xuXHR9XG59XG4iLCJpbXBvcnQgeyBIb3RTdGFxLCBIb3QsIEhvdEFQSSwgSG90Q29tcG9uZW50IH0gZnJvbSBcImhvdHN0YXFcIjtcblxuZXhwb3J0IGNsYXNzIEFkbWluRGFzaGJvYXJkIGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgdGl0bGUgb2YgdGhpcyBkYXNoYm9hcmQuXG5cdCAqL1xuXHR0aXRsZTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGJhc2UgdXJsIHRvIHVzZSBmb3IgdGhpcyBkYXNoYm9hcmQuXG5cdCAqL1xuXHRiYXNlOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tZGFzaGJvYXJkXCI7XG5cdFx0dGhpcy50aXRsZSA9IFwiXCI7XG5cdFx0dGhpcy5iYXNlID0gXCJcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGQgdGhpcyB0YWJsZSBmaWVsZCB0byB0aGUgdGFibGVcblx0ICovXG5cdGFzeW5jIG9uUG9zdFBsYWNlIChwYXJlbnRIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQsIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCk6IFByb21pc2U8SFRNTEVsZW1lbnQ+XG5cdHtcblx0XHQvLyBTZXQgdGhlIGJhc2UgQVBJIHVybCB0byB1c2UgZm9yIHRoaXMgZGFzaGJvYXJkLlxuXHRcdGlmICh0aGlzLmJhc2UgIT0gXCJcIilcblx0XHRcdEhvdC5EYXRhLmJhc2VVcmwgPSB0aGlzLmJhc2U7XG5cblx0XHRyZXR1cm4gKGh0bWxFbGVtZW50KTtcblx0fVxuXG5cdGFzeW5jIG91dHB1dCAoKTogUHJvbWlzZTxzdHJpbmc+XG5cdHtcblx0XHRyZXR1cm4gKGBcblx0XHQ8bWFpbiBjbGFzcz1cImNvbC1tZC05IG1zLXNtLWF1dG8gY29sLWxnLTEwIHB4LW1kLTRcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gZmxleC13cmFwIGZsZXgtbWQtbm93cmFwIGFsaWduLWl0ZW1zLWNlbnRlciBwdC0zIHBiLTIgbWItMyBib3JkZXItYm90dG9tXCI+XG5cdFx0XHRcdDxoMSBjbGFzcz1cImgyXCI+JHt0aGlzLnRpdGxlfTwvaDE+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJidG4tdG9vbGJhciBtYi0yIG1iLW1kLTBcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYnRuLWdyb3VwIG1lLTJcIj5cblx0XHRcdFx0XHRcdDxob3QtcGxhY2UtaGVyZSBuYW1lID0gXCJidXR0b25zXCI+PC9ob3QtcGxhY2UtaGVyZT5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxob3QtcGxhY2UtaGVyZSBuYW1lID0gXCJib2R5XCI+PC9ob3QtcGxhY2UtaGVyZT5cblx0XHQ8L21haW4+YCk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQgfSBmcm9tIFwiaG90c3RhcVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5FZGl0IGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgdGl0bGUgb2YgdGhpcyBkYXNoYm9hcmQuXG5cdCAqL1xuXHR0aXRsZTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGJ1dHRvbiB0aXRsZS5cblx0ICovXG5cdGJ1dHRvbl90aXRsZTogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGF0dGFjaGVkIGxpc3QuXG5cdCAqL1xuXHRhdHRhY2hlZF9saXN0OiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgYXR0YWNoZWQgc2NoZW1hLlxuXHQgKi9cblx0c2NoZW1hOiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBUaGUgZmllbGQgZWxlbWVudHMgaW4gdGhlIGVkaXQgbW9kYWwuXG5cdCAqL1xuXHRmaWVsZEVsZW1lbnRzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnk7IH07XG5cdC8qKlxuXHQgKiBUaGUgbW9kYWwgaWQuXG5cdCAqL1xuXHRtb2RhbElkOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tZWRpdFwiO1xuXHRcdHRoaXMudGl0bGUgPSBcIlwiO1xuXHRcdHRoaXMuYnV0dG9uX3RpdGxlID0gXCJcIjtcblx0XHR0aGlzLmF0dGFjaGVkX2xpc3QgPSBcIlwiO1xuXHRcdHRoaXMuc2NoZW1hID0gXCJcIjtcblxuXHRcdHRoaXMuZmllbGRFbGVtZW50cyA9IHt9O1xuXG5cdFx0dGhpcy5tb2RhbElkID0gXCJcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBTYXZlIHRoaXMgZm9ybS5cblx0ICovXG5cdGFzeW5jIG9uU2F2ZSAoKVxuXHR7XG5cdFx0bGV0IHZhbHVlczogYW55ID0ge307XG5cblx0XHRmb3IgKGxldCBrZXkgaW4gdGhpcy5maWVsZEVsZW1lbnRzKVxuXHRcdHtcblx0XHRcdGxldCBmaWVsZEVsZW1lbnQgPSB0aGlzLmZpZWxkRWxlbWVudHNba2V5XTtcblx0XHRcdGxldCB2YWx1ZSA9IGZpZWxkRWxlbWVudC52YWx1ZTtcblxuXHRcdFx0dmFsdWVzW2tleV0gPSB2YWx1ZTtcblx0XHR9XG5cblx0XHRhd2FpdCBIb3QuanNvblJlcXVlc3QgKGAke0hvdC5EYXRhLmJhc2VVcmx9L3YxL2RhdGEvYWRkYCwge1xuXHRcdFx0XHRzY2hlbWE6IHRoaXMuc2NoZW1hLFxuXHRcdFx0XHRmaWVsZHM6IHZhbHVlc1xuXHRcdFx0fSk7XG5cblx0XHRsZXQgYXR0YWNoZWRMaXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgKHRoaXMuYXR0YWNoZWRfbGlzdCk7XG5cblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0YXdhaXQgYXR0YWNoZWRMaXN0LmhvdENvbXBvbmVudC5yZWZyZXNoTGlzdCAoKTtcblxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHQkKGAjJHt0aGlzLm1vZGFsSWR9YCkubW9kYWwgKFwiaGlkZVwiKTtcblx0fVxuXG5cdGFzeW5jIG91dHB1dCAoKVxuXHR7XG5cdFx0aWYgKHRoaXMubmFtZSA9PT0gXCJcIilcblx0XHRcdHRocm93IG5ldyBFcnJvciAoYFlvdSBtdXN0IHNwZWNpZnkgYSBuYW1lIGZvciBlYWNoIGFkbWluLWVkaXQgZWxlbWVudCFgKTtcblxuXHRcdHRoaXMubW9kYWxJZCA9IGAke3RoaXMubmFtZX1Nb2RhbGA7XG5cblx0XHRyZXR1cm4gKFt7XG5cdFx0XHRodG1sOiBgXG5cdFx0XHQ8IS0tICR7dGhpcy50aXRsZX0gTW9kYWwgU3RhcnQgLS0+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwgZmFkZVwiIGlkPVwiJHt0aGlzLm1vZGFsSWR9XCIgdGFiaW5kZXg9XCItMVwiIGFyaWEtbGFiZWxsZWRieT1cIiR7dGhpcy5uYW1lfU1vZGFsTGFiZWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZ1wiPlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuXHRcdFx0XHRcdFx0PGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIiBpZD1cIiR7dGhpcy5uYW1lfU1vZGFsTGFiZWxcIj4ke3RoaXMudGl0bGV9PC9oNT5cblx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48L2J1dHRvbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuXHRcdFx0XHRcdFx0PGhvdC1wbGFjZS1oZXJlIG5hbWUgPSBcIm1vZGFsQm9keVwiIHR5cGUgPSBcIm1vZGFsXCI+PC9ob3QtcGxhY2UtaGVyZT5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgZGF0YS1icy1kaXNtaXNzPVwibW9kYWxcIj5DYW5jZWw8L2J1dHRvbj5cblx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgb25jbGljayA9IFwiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyR7dGhpcy5tb2RhbElkfScpLm9uU2F2ZSAoKTtcIj4ke3RoaXMuYnV0dG9uX3RpdGxlfTwvYnV0dG9uPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PCEtLSAke3RoaXMudGl0bGV9IE1vZGFsIEVuZCAtLT5gLFxuXHRcdFx0cGFyZW50U2VsZWN0b3I6IFwiYm9keVwiXG5cdFx0fSxcblx0XHR7XG5cdFx0XHRodG1sOmA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgZGF0YS1icy10b2dnbGU9XCJtb2RhbFwiIG9uY2xpY2sgPSBcIiQoJyMke3RoaXMubW9kYWxJZH0nKS5tb2RhbCAoJ3Nob3cnKTtcIj5BZGQ8L2J1dHRvbj5gLFxuXHRcdFx0cGFyZW50U2VsZWN0b3I6IGBob3QtcGxhY2UtaGVyZVtuYW1lPVwiYnV0dG9uc1wiXWBcblx0XHR9XSk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQgfSBmcm9tIFwiaG90c3RhcVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5UYWJsZUZpZWxkIGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgdGFibGUgZmllbGQuXG5cdCAqL1xuXHRmaWVsZDogbnVtYmVyO1xuXG5cdGNvbnN0cnVjdG9yIChjb3B5OiBIb3RDb21wb25lbnQgfCBIb3RTdGFxLCBhcGk6IEhvdEFQSSlcblx0e1xuXHRcdHN1cGVyIChjb3B5LCBhcGkpO1xuXG5cdFx0dGhpcy50YWcgPSBcImFkbWluLXRhYmxlLWZpZWxkXCI7XG5cdFx0dGhpcy5maWVsZCA9IDA7XG5cdH1cblxuXHQvKipcblx0ICogQWRkIHRoaXMgdGFibGUgZmllbGQgdG8gdGhlIHRhYmxlXG5cdCAqL1xuXHRhc3luYyBvblBvc3RQbGFjZSAocGFyZW50SHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPEhUTUxFbGVtZW50PlxuXHR7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGxldCBob3RDb21wb25lbnQgPSBwYXJlbnRIdG1sRWxlbWVudC5wYXJlbnROb2RlLnBhcmVudE5vZGUucGFyZW50Tm9kZS5ob3RDb21wb25lbnQ7XG5cblx0XHRob3RDb21wb25lbnQuYWRkSGVhZGVyRGF0YU9ubHkgKHRoaXMsIGh0bWxFbGVtZW50KTtcblxuXHRcdHJldHVybiAoaHRtbEVsZW1lbnQpO1xuXHR9XG5cblx0YXN5bmMgb3V0cHV0ICgpXG5cdHtcblx0XHRyZXR1cm4gKFt7XG5cdFx0XHRodG1sOiBgPHRoPiR7dGhpcy5pbm5lcn08L3RoPmAsXG5cdFx0XHRwbGFjZUhlcmVQYXJlbnQ6IFwiaGVhZGVyXCJcblx0XHR9XSk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQgfSBmcm9tIFwiaG90c3RhcVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5UYWJsZVJvdyBleHRlbmRzIEhvdENvbXBvbmVudFxue1xuXHQvKipcblx0ICogVGhlIHRhYmxlIHJvdyBmaWVsZHMuXG5cdCAqL1xuXHRmaWVsZHM6IGFueVtdO1xuXG5cdGNvbnN0cnVjdG9yIChjb3B5OiBIb3RDb21wb25lbnQgfCBIb3RTdGFxLCBhcGk6IEhvdEFQSSlcblx0e1xuXHRcdHN1cGVyIChjb3B5LCBhcGkpO1xuXG5cdFx0dGhpcy50YWcgPSBcImFkbWluLXRhYmxlLXJvd1wiO1xuXHRcdC8qKlxuXHRcdCAqIFRoZSBmaWVsZHMgYXJlIHN0b3JlZCBpbiBhIGtleS92YWx1ZSBvYmplY3QuXG5cdFx0ICogXG5cdFx0ICogQGV4YW1wbGUgeyBcIm5hbWVcIjogXCJKb2huIFNtaXRoXCIsIFwiZW1haWxcIjogXCJqb2huLnNtaXRoQGVtYWlsLmNvbVwiIH1cblx0XHQgKi9cblx0XHR0aGlzLmZpZWxkcyA9IFtdO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCB0aGlzIHRhYmxlIHJvdyB0byB0aGUgdGFibGVcblx0ICovXG5cdGFzeW5jIG9uUG9zdFBsYWNlIChwYXJlbnRIdG1sRWxlbWVudDogSFRNTEVsZW1lbnQsIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCk6IFByb21pc2U8SFRNTEVsZW1lbnQ+XG5cdHtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0cGFyZW50SHRtbEVsZW1lbnQucGFyZW50Tm9kZS5wYXJlbnROb2RlLnBhcmVudE5vZGUuaG90Q29tcG9uZW50LnJvd0VsZW1lbnRzLnB1c2ggKHsgZmllbGRzOiB0aGlzLmZpZWxkcywgZWxlbWVudDogaHRtbEVsZW1lbnR9KTtcblxuXHRcdHJldHVybiAoaHRtbEVsZW1lbnQpO1xuXHR9XG5cblx0YXN5bmMgb3V0cHV0ICgpXG5cdHtcblx0XHRsZXQgcm93SHRtbCA9IFwiXCI7XG5cblx0XHRmb3IgKGxldCBpSWR4ID0gMDsgaUlkeCA8IHRoaXMuZmllbGRzLmxlbmd0aDsgaUlkeCsrKVxuXHRcdHtcblx0XHRcdGxldCBmaWVsZE9iaiA9IHRoaXMuZmllbGRzW2lJZHhdO1xuXG5cdFx0XHRmb3IgKGxldCBrZXkgaW4gZmllbGRPYmopXG5cdFx0XHR7XG5cdFx0XHRcdGxldCB2YWx1ZSA9IGZpZWxkT2JqW2tleV07XG5cblx0XHRcdFx0cm93SHRtbCArPSBgPHRkPiR7dmFsdWV9PC90ZD5gO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiAoW3tcblx0XHRcdGh0bWw6IGA8dHI+JHtyb3dIdG1sfTwvdHI+YCxcblx0XHRcdHBsYWNlSGVyZVBhcmVudDogXCJyZXN1bHRzXCJcblx0XHR9XSk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQgfSBmcm9tIFwiaG90c3RhcVwiO1xuaW1wb3J0IHsgQWRtaW5UYWJsZUZpZWxkIH0gZnJvbSBcIi4vYWRtaW4tdGFibGUtZmllbGRcIjtcblxuZXhwb3J0IGNsYXNzIEFkbWluVGFibGUgZXh0ZW5kcyBIb3RDb21wb25lbnRcbntcblx0LyoqXG5cdCAqIFRoZSB0aXRsZSBvZiB0aGlzIHRhYmxlLlxuXHQgKi9cblx0dGl0bGU6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBhdHRhY2hlZCBzY2hlbWEuXG5cdCAqL1xuXHRzY2hlbWE6IHN0cmluZztcblx0LyoqXG5cdCAqIFRoZSBoZWFkZXJzIGFyZSBzdG9yZWQgaW4gYSBrZXkvdmFsdWUgb2JqZWN0LlxuXHQgKiBcblx0ICogQGV4YW1wbGUgeyBcIm5hbWVcIjogXCI8dGg+TmFtZTwvdGg+XCIsIFwiZW1haWxcIjogXCI8dGg+RW1haWw8L3RoPlwiIH1cblx0ICovXG5cdGhlYWRlckVsZW1lbnRzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnk7IH0gPSB7fTtcblx0LyoqXG5cdCAqIFRoZSBoZWFkZXIgaW5kaWNpZXMgYXJlIHN0b3JlZCBpbiBhIGtleS92YWx1ZSBvYmplY3QuXG5cdCAqIFxuXHQgKiBAZXhhbXBsZSBjb25zb2xlLmxvZyAodGhpcy5oZWFkZXJJbmRpY2llc1tcIm5hbWVcIl0pOyAvLyBPdXRwdXRzIDBcblx0ICovXG5cdGhlYWRlckluZGljaWVzOiBudW1iZXJbXTtcblx0LyoqXG5cdCAqIFRoZSByb3cgZWxlbWVudHMgYXJlIHN0b3JlZCBpbiBhbiBhcnJheSB3aXRoIGtleS92YWx1ZSBmaWVsZHMgYW5kIGl0J3MgYXR0YWNoZWQgaHRtbCBlbGVtZW50LlxuXHQgKiBcblx0ICogQGV4YW1wbGVcblx0ICoge1xuXHQgKiAgIFwiZmllbGRzXCI6IFtcblx0ICogICAgICAge1xuXHQgKiAgICAgICAgIFwibmFtZVwiOiBcIkpvaG4gU21pdGhcIixcblx0ICogICAgICAgICBcImVtYWlsXCI6IFwiam9obi5zbWl0aEB0ZXN0LmNvbVwiXG5cdCAqICAgICAgIH1cblx0ICogICAgIF0sXG5cdCAqICAgXCJodG1sXCI6IFwiPHRyPjx0ZD5Kb2huIFNtaXRoPC90ZD48dGQ+am9obi5zbWl0aEB0ZXN0LmNvbTwvdGQ+PC90cj5cIlxuXHQgKiB9XG5cdCAqL1xuXHRyb3dFbGVtZW50czogeyBmaWVsZHM6IGFueVtdOyBodG1sOiBzdHJpbmc7IH1bXSA9IFtdO1xuXG5cdGNvbnN0cnVjdG9yIChjb3B5OiBIb3RDb21wb25lbnQgfCBIb3RTdGFxLCBhcGk6IEhvdEFQSSlcblx0e1xuXHRcdHN1cGVyIChjb3B5LCBhcGkpO1xuXG5cdFx0dGhpcy50YWcgPSBcImFkbWluLXRhYmxlXCI7XG5cdFx0dGhpcy50aXRsZSA9IFwiXCI7XG5cdFx0dGhpcy5zY2hlbWEgPSBcIlwiO1xuXHRcdHRoaXMuaGVhZGVyRWxlbWVudHMgPSB7fTtcblx0XHR0aGlzLmhlYWRlckluZGljaWVzID0gW107XG5cdFx0dGhpcy5yb3dFbGVtZW50cyA9IFtdO1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhIGhlYWRlciB0byB0aGUgdGFibGUuXG5cdCAqL1xuXHRhZGRIZWFkZXIgKHRhYmxlRmllbGRFbGVtZW50OiBIVE1MRWxlbWVudClcblx0e1xuXHRcdGxldCBoZWFkZXIgPSB0aGlzLmh0bWxFbGVtZW50c1swXS5nZXRFbGVtZW50c0J5VGFnTmFtZSAoXCJ0aGVhZFwiKVswXTtcblxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHR0aGlzLmhlYWRlckluZGljaWVzLnB1c2ggKHRhYmxlRmllbGRFbGVtZW50LmhvdENvbXBvbmVudC5maWVsZCk7XG5cdFx0aGVhZGVyLmFwcGVuZENoaWxkICh0YWJsZUZpZWxkRWxlbWVudCk7XG5cdH1cblxuXHQvKipcblx0ICogQWRkIGEgaGVhZGVyIHRvIHRoZSB0YWJsZS5cblx0ICovXG5cdGFkZEhlYWRlckRhdGFPbmx5ICh0YWJsZUZpZWxkOiBBZG1pblRhYmxlRmllbGQsIGh0bWxFbGVtZW50OiBIVE1MRWxlbWVudClcblx0e1xuXHRcdHRoaXMuaGVhZGVySW5kaWNpZXMucHVzaCAodGFibGVGaWVsZC5maWVsZCk7XG5cdFx0dGhpcy5oZWFkZXJFbGVtZW50c1t0YWJsZUZpZWxkLmZpZWxkXSA9IGh0bWxFbGVtZW50O1xuXHR9XG5cblx0LyoqXG5cdCAqIEFkZCBhIHJvdyB0byB0aGUgdGFibGUuXG5cdCAqIFxuXHQgKiBAcGFyYW0ge0FycmF5fSBmaWVsZHMgQSBsaXN0IG9mIHZhbHVlcyB0byBhcHBlbmQuXG5cdCAqL1xuXHRhZGRSb3cgKGZpZWxkczogeyBbbmFtZTogc3RyaW5nXTogYW55IH1bXSlcblx0e1xuXHRcdGxldCB0Ym9keSA9IHRoaXMuaHRtbEVsZW1lbnRzWzFdLmdldEVsZW1lbnRzQnlUYWdOYW1lIChcInRib2R5XCIpWzBdO1xuXHRcdGxldCByb3dTdHIgPSBcIjx0cj5cIjtcblxuXHRcdGZvciAobGV0IGlJZHggPSAwOyBpSWR4IDwgdGhpcy5oZWFkZXJJbmRpY2llcy5sZW5ndGg7IGlJZHgrKylcblx0XHR7XG5cdFx0XHRsZXQga2V5ID0gdGhpcy5oZWFkZXJJbmRpY2llc1tpSWR4XTtcblx0XHRcdGxldCB2YWx1ZSA9IGZpZWxkc1trZXldO1xuXG5cdFx0XHRpZiAodGhpcy5oZWFkZXJFbGVtZW50c1trZXldICE9IG51bGwpXG5cdFx0XHRcdHJvd1N0ciArPSBgPHRkPiR7dmFsdWV9PC90ZD5gO1xuXHRcdH1cblxuXHRcdHJvd1N0ciArPSBcIjwvdHI+XCI7XG5cblx0XHRIb3RTdGFxLmFkZEh0bWwgKHRib2R5LCByb3dTdHIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENsZWFyIHRoZSBsaXN0IG9mIHJvd3MuXG5cdCAqL1xuXHRhc3luYyBjbGVhclJvd3MgKClcblx0e1xuXHRcdGxldCB0Ym9keSA9IHRoaXMuaHRtbEVsZW1lbnRzWzFdLmdldEVsZW1lbnRzQnlUYWdOYW1lIChcInRib2R5XCIpWzBdO1xuXG5cdFx0dGJvZHkuaW5uZXJIVE1MID0gXCJcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWZyZXNoIHRoZSBsaXN0LlxuXHQgKi9cblx0YXN5bmMgcmVmcmVzaExpc3QgKClcblx0e1xuXHRcdGxldCBsaXN0ID0gYXdhaXQgSG90Lmpzb25SZXF1ZXN0IChgJHtIb3QuRGF0YS5iYXNlVXJsfS92MS9kYXRhL2xpc3RgLCB7XG5cdFx0XHRcdHNjaGVtYTogdGhpcy5zY2hlbWFcblx0XHRcdH0pO1xuXG5cdFx0dGhpcy5jbGVhclJvd3MgKCk7XG5cblx0XHRmb3IgKGxldCBpSWR4ID0gMDsgaUlkeCA8IGxpc3QubGVuZ3RoOyBpSWR4KyspXG5cdFx0e1xuXHRcdFx0bGV0IGZpZWxkcyA9IGxpc3RbaUlkeF07XG5cblx0XHRcdHRoaXMuYWRkUm93IChmaWVsZHMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGxpc3Qgb2YgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuXG5cdCAqL1xuXHRhc3luYyBvblBvc3RQbGFjZSAocGFyZW50SHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50LCBodG1sRWxlbWVudDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPEhUTUxFbGVtZW50PlxuXHR7XG5cdFx0c2V0VGltZW91dCAoYXN5bmMgKCkgPT5cblx0XHRcdHtcblx0XHRcdFx0YXdhaXQgdGhpcy5yZWZyZXNoTGlzdCAoKTtcblx0XHRcdH0sIDUwKTtcblxuXHRcdHJldHVybiAoaHRtbEVsZW1lbnQpO1xuXHR9XG5cblx0YXN5bmMgb3V0cHV0ICgpXG5cdHtcblx0XHRyZXR1cm4gKGBcblx0XHQ8ZGl2IGlkID0gXCIke3RoaXMuaHRtbEVsZW1lbnRzWzBdLmlkfVwiPlxuXHRcdFx0PGgyPiR7dGhpcy50aXRsZX08L2gyPlxuXHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cblx0XHRcdDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLXN0cmlwZWQgdGFibGUtc21cIj5cblx0XHRcdFx0PHRoZWFkIGhvdC1wbGFjZS1oZXJlID0gXCJoZWFkZXJcIj5cblx0XHRcdFx0PC90aGVhZD5cblx0XHRcdFx0PHRib2R5IGhvdC1wbGFjZS1oZXJlID0gXCJyZXN1bHRzXCI+XG5cdFx0XHRcdDwvdGJvZHk+XG5cdFx0XHQ8L3RhYmxlPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+YCk7XG5cdH1cbn1cbiIsImltcG9ydCB7IEhvdFN0YXEsIEhvdCwgSG90QVBJLCBIb3RDb21wb25lbnQgfSBmcm9tIFwiaG90c3RhcVwiO1xuXG5leHBvcnQgY2xhc3MgQWRtaW5UZXh0IGV4dGVuZHMgSG90Q29tcG9uZW50XG57XG5cdC8qKlxuXHQgKiBUaGUgYXNzb2NpYXRlZCBkYXRhYmFzZSBmaWVsZC5cblx0ICovXG5cdGZpZWxkOiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IgKGNvcHk6IEhvdENvbXBvbmVudCB8IEhvdFN0YXEsIGFwaTogSG90QVBJKVxuXHR7XG5cdFx0c3VwZXIgKGNvcHksIGFwaSk7XG5cblx0XHR0aGlzLnRhZyA9IFwiYWRtaW4tdGV4dFwiO1xuXHRcdHRoaXMuZmllbGQgPSBcIlwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvcnJlY3RzIHRoZSBwbGFjZW1lbnQgb2YgdGhlIHRleHQgZWxlbWVudHMgZm9yIG1vZGFscy5cblx0ICovXG5cdGFzeW5jIG9uUGFyZW50UGxhY2UgKHBhcmVudEh0bWxFbGVtZW50OiBIVE1MRWxlbWVudCwgaHRtbEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogUHJvbWlzZTx2b2lkPlxuXHR7XG5cdFx0bGV0IHBsYWNlSGVyZUFycmF5ID0gcGFyZW50SHRtbEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCAoYGhvdC1wbGFjZS1oZXJlW3R5cGU9XCJtb2RhbFwiXWApO1xuXG5cdFx0aWYgKHBsYWNlSGVyZUFycmF5Lmxlbmd0aCA+IDApXG5cdFx0e1xuXHRcdFx0bGV0IHBsYWNlSGVyZSA9IHBsYWNlSGVyZUFycmF5WzBdO1xuXHRcdFx0cGFyZW50SHRtbEVsZW1lbnQucmVtb3ZlQ2hpbGQgKGh0bWxFbGVtZW50KTtcblx0XHRcdHBsYWNlSGVyZS5hcHBlbmRDaGlsZCAoaHRtbEVsZW1lbnQpO1xuXG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRwYXJlbnRIdG1sRWxlbWVudC5ob3RDb21wb25lbnQuZmllbGRFbGVtZW50c1t0aGlzLmZpZWxkXSA9IGh0bWxFbGVtZW50LnF1ZXJ5U2VsZWN0b3IgKFwiaW5wdXRcIik7XG5cdFx0fVxuXHR9XG5cblx0YXN5bmMgb3V0cHV0ICgpXG5cdHtcblx0XHRyZXR1cm4gKGA8ZGl2PlxuXHRcdFx0PGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiPiR7dGhpcy5pbm5lcn08L2xhYmVsPjxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGUgPSBcInRleHRcIiB2YWx1ZSA9IFwiXCIgLz5cblx0XHQ8L2Rpdj5gKTtcblx0fVxufVxuIiwibW9kdWxlLmV4cG9ydHMgPSBIb3RTdGFxV2ViOyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBzdGFydHVwXG4vLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbi8vIFRoaXMgZW50cnkgbW9kdWxlIGlzIHJlZmVyZW5jZWQgYnkgb3RoZXIgbW9kdWxlcyBzbyBpdCBjYW4ndCBiZSBpbmxpbmVkXG52YXIgX193ZWJwYWNrX2V4cG9ydHNfXyA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG4iXSwibmFtZXMiOlsiQWRtaW5CdXR0b24iLCJBZG1pbkRhc2hib2FyZCIsIkFkbWluRWRpdCIsIkFkbWluVGFibGUiLCJBZG1pblRhYmxlRmllbGQiLCJBZG1pblRhYmxlUm93IiwiQWRtaW5UZXh0IiwiYnVpbGRBc3NldHMiLCJpbXBvcnQiLCJuYW1lIiwiZmlsZXMiLCJodG1sIiwiY3NzIiwianMiLCJjb21wb25lbnRMaWJyYXJ5IiwiY29tcG9uZW50cyIsIkhvdENvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiY29weSIsImFwaSIsInN1cGVyIiwidGhpcyIsInRhZyIsImJ1dHRvbkNsaWNrZWQiLCJvdXRwdXQiLCJodG1sRWxlbWVudHMiLCJpZCIsInRpdGxlIiwiYmFzZSIsIm9uUG9zdFBsYWNlIiwicGFyZW50SHRtbEVsZW1lbnQiLCJodG1sRWxlbWVudCIsIkhvdCIsIkRhdGEiLCJiYXNlVXJsIiwiYnV0dG9uX3RpdGxlIiwiYXR0YWNoZWRfbGlzdCIsInNjaGVtYSIsImZpZWxkRWxlbWVudHMiLCJtb2RhbElkIiwib25TYXZlIiwidmFsdWVzIiwia2V5IiwidmFsdWUiLCJqc29uUmVxdWVzdCIsImZpZWxkcyIsImF0dGFjaGVkTGlzdCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJob3RDb21wb25lbnQiLCJyZWZyZXNoTGlzdCIsIiQiLCJtb2RhbCIsIkVycm9yIiwicGFyZW50U2VsZWN0b3IiLCJmaWVsZCIsInBhcmVudE5vZGUiLCJhZGRIZWFkZXJEYXRhT25seSIsImlubmVyIiwicGxhY2VIZXJlUGFyZW50Iiwicm93RWxlbWVudHMiLCJwdXNoIiwiZWxlbWVudCIsInJvd0h0bWwiLCJpSWR4IiwibGVuZ3RoIiwiZmllbGRPYmoiLCJoZWFkZXJFbGVtZW50cyIsImhlYWRlckluZGljaWVzIiwiYWRkSGVhZGVyIiwidGFibGVGaWVsZEVsZW1lbnQiLCJoZWFkZXIiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImFwcGVuZENoaWxkIiwidGFibGVGaWVsZCIsImFkZFJvdyIsInRib2R5Iiwicm93U3RyIiwiSG90U3RhcSIsImFkZEh0bWwiLCJjbGVhclJvd3MiLCJpbm5lckhUTUwiLCJsaXN0Iiwic2V0VGltZW91dCIsIm9uUGFyZW50UGxhY2UiLCJwbGFjZUhlcmVBcnJheSIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJwbGFjZUhlcmUiLCJyZW1vdmVDaGlsZCIsInF1ZXJ5U2VsZWN0b3IiLCJtb2R1bGUiLCJleHBvcnRzIiwiSG90U3RhcVdlYiIsIl9fd2VicGFja19tb2R1bGVfY2FjaGVfXyIsIl9fd2VicGFja19leHBvcnRzX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJ1bmRlZmluZWQiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiY2FsbCJdLCJzb3VyY2VSb290IjoiIn0=
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
openapi: 3.0.0
|
|
2
|
+
info:
|
|
3
|
+
title: admin-panel
|
|
4
|
+
version: admin-panel
|
|
5
|
+
description: ""
|
|
6
|
+
servers:
|
|
7
|
+
- url: http://127.0.0.1:3243
|
|
8
|
+
paths:
|
|
9
|
+
/v1/data/add:
|
|
10
|
+
post:
|
|
11
|
+
summary: Add results to the database.
|
|
12
|
+
responses:
|
|
13
|
+
"200":
|
|
14
|
+
description: Returns true if successful.
|
|
15
|
+
content:
|
|
16
|
+
application/json:
|
|
17
|
+
schema:
|
|
18
|
+
type: string
|
|
19
|
+
description: Returns true if successful.
|
|
20
|
+
requestBody:
|
|
21
|
+
required: true
|
|
22
|
+
content:
|
|
23
|
+
application/json:
|
|
24
|
+
schema:
|
|
25
|
+
$ref: "#/components/schemas/data_add"
|
|
26
|
+
/v1/data/list:
|
|
27
|
+
post:
|
|
28
|
+
summary: List results from a schema.
|
|
29
|
+
responses:
|
|
30
|
+
"200":
|
|
31
|
+
description: Returns the results from the schema.
|
|
32
|
+
content:
|
|
33
|
+
application/json:
|
|
34
|
+
schema:
|
|
35
|
+
type: string
|
|
36
|
+
description: Returns the results from the schema.
|
|
37
|
+
requestBody:
|
|
38
|
+
required: true
|
|
39
|
+
content:
|
|
40
|
+
application/json:
|
|
41
|
+
schema:
|
|
42
|
+
$ref: "#/components/schemas/data_list"
|
|
43
|
+
components:
|
|
44
|
+
schemas:
|
|
45
|
+
data_add:
|
|
46
|
+
type: object
|
|
47
|
+
required:
|
|
48
|
+
- schema
|
|
49
|
+
- fields
|
|
50
|
+
properties:
|
|
51
|
+
schema:
|
|
52
|
+
type: string
|
|
53
|
+
description: The schema to add data to.
|
|
54
|
+
fields:
|
|
55
|
+
type: string
|
|
56
|
+
description: 'The fields and their values to add to the database. A key/value
|
|
57
|
+
object must be passed. Example: { "name": "Test_User" }'
|
|
58
|
+
data_list:
|
|
59
|
+
type: object
|
|
60
|
+
required:
|
|
61
|
+
- schema
|
|
62
|
+
- fields
|
|
63
|
+
properties:
|
|
64
|
+
schema:
|
|
65
|
+
type: string
|
|
66
|
+
description: The schema to access.
|
|
67
|
+
fields:
|
|
68
|
+
type: array
|
|
69
|
+
description: The list of fields in the schema to access.
|
|
70
|
+
offset:
|
|
71
|
+
type: int
|
|
72
|
+
description: The offset.
|
|
73
|
+
limit:
|
|
74
|
+
type: int
|
|
75
|
+
description: The max number of results to return. Default is 20.
|
package/package.json
CHANGED
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hotstaq/admin-panel",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "0.2.
|
|
5
|
-
"main": "build/AppAPI.js",
|
|
4
|
+
"version": "0.2.2",
|
|
5
|
+
"main": "build/src/AppAPI.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"start": "hotstaq --hotsite ./HotSite.json --env-file ./.env run --server-type web-api",
|
|
8
8
|
"dev": "hotstaq --hotsite ./HotSite.json --development-mode run --server-type web-api --web-http-port 8080",
|
|
9
9
|
"test": "hotstaq test",
|
|
10
10
|
"build": "tsc --build ./tsconfig.json",
|
|
11
|
-
"build-web": "
|
|
12
|
-
"build-web-debug": "
|
|
13
|
-
"build-doc": "hotstaq generate --generate-type openapi-3.0.0-yaml"
|
|
11
|
+
"build-web": "webpack --mode=production",
|
|
12
|
+
"build-web-debug": "webpack --mode=development",
|
|
13
|
+
"build-doc": "hotstaq generate --generate-type openapi-3.0.0-yaml",
|
|
14
|
+
"prepublishOnly": "npm run build-doc && npm run build && npm run build-web"
|
|
14
15
|
},
|
|
15
16
|
"keywords": [],
|
|
16
17
|
"author": "FreeLight, Inc",
|
|
17
18
|
"license": "MIT",
|
|
18
19
|
"dependencies": {
|
|
20
|
+
"@hotstaq/dataroute": "^0.2.0",
|
|
19
21
|
"@popperjs/core": "^2.11.6",
|
|
20
22
|
"bootstrap": "^5.2.3",
|
|
21
23
|
"chart.js": "^2.9.4",
|
|
22
24
|
"dotenv": "^10.0.0",
|
|
23
25
|
"feather-icons": "^4.29.0",
|
|
24
|
-
"hotstaq": "^0.8.
|
|
26
|
+
"hotstaq": "^0.8.4",
|
|
25
27
|
"jquery": "^3.6.3"
|
|
26
28
|
},
|
|
27
29
|
"devDependencies": {
|
|
@@ -37,6 +39,8 @@
|
|
|
37
39
|
"@types/selenium-webdriver": "^4.1.5",
|
|
38
40
|
"@types/uuid": "^8.3.4",
|
|
39
41
|
"chokidar": "^3.5.3",
|
|
40
|
-
"ts-loader": "^7.0.5"
|
|
42
|
+
"ts-loader": "^7.0.5",
|
|
43
|
+
"webpack": "^5.75.0",
|
|
44
|
+
"webpack-cli": "^5.0.1"
|
|
41
45
|
}
|
|
42
46
|
}
|
package/src/WebExport.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdminButton } from "./components/admin-button";
|
|
2
|
+
import { AdminDashboard } from "./components/admin-dashboard";
|
|
3
|
+
import { AdminEdit } from "./components/admin-edit";
|
|
4
|
+
import { AdminTable } from "./components/admin-table";
|
|
5
|
+
import { AdminTableField } from "./components/admin-table-field";
|
|
6
|
+
import { AdminTableRow } from "./components/admin-table-row";
|
|
7
|
+
import { AdminText } from "./components/admin-text";
|
|
2
8
|
|
|
3
9
|
async function buildAssets (): Promise<any>
|
|
4
10
|
{
|
|
@@ -10,12 +16,26 @@ async function buildAssets (): Promise<any>
|
|
|
10
16
|
"@popperjs/core"],
|
|
11
17
|
html: ["./assets/html/*.*"],
|
|
12
18
|
css: ["./assets/css/*.*"],
|
|
13
|
-
js: ["./assets/js/*.*"],
|
|
14
|
-
|
|
19
|
+
js: ["./assets/js/*.*", "./build-web/AdminPanel.js"],
|
|
20
|
+
componentLibrary: "AdminPanelWeb",
|
|
21
|
+
components: [
|
|
22
|
+
AdminButton,
|
|
23
|
+
AdminDashboard,
|
|
24
|
+
AdminEdit,
|
|
25
|
+
AdminTable,
|
|
26
|
+
AdminTableField,
|
|
27
|
+
AdminTableRow,
|
|
28
|
+
AdminText]
|
|
15
29
|
});
|
|
16
30
|
}
|
|
17
31
|
|
|
18
32
|
export {
|
|
19
|
-
|
|
20
|
-
|
|
33
|
+
buildAssets,
|
|
34
|
+
AdminButton,
|
|
35
|
+
AdminDashboard,
|
|
36
|
+
AdminEdit,
|
|
37
|
+
AdminTable,
|
|
38
|
+
AdminTableField,
|
|
39
|
+
AdminTableRow,
|
|
40
|
+
AdminText
|
|
21
41
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { HotStaq, Hot, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, Hot, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
|
|
3
3
|
export class AdminButton extends HotComponent
|
|
4
4
|
{
|
|
5
|
-
constructor (copy:
|
|
5
|
+
constructor (copy: HotComponent | HotStaq, api: HotAPI)
|
|
6
6
|
{
|
|
7
7
|
super (copy, api);
|
|
8
8
|
|
|
@@ -18,5 +18,3 @@ export class AdminButton extends HotComponent
|
|
|
18
18
|
return (`<button id = "${this.htmlElements[0].id}" onclick = "this.buttonClicked ();"></button>`);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
Hot.CurrentPage.processor.addComponent (AdminButton);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, Hot, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, Hot, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
|
|
3
3
|
export class AdminDashboard extends HotComponent
|
|
4
4
|
{
|
|
@@ -11,7 +11,7 @@ export class AdminDashboard extends HotComponent
|
|
|
11
11
|
*/
|
|
12
12
|
base: string;
|
|
13
13
|
|
|
14
|
-
constructor (copy:
|
|
14
|
+
constructor (copy: HotComponent | HotStaq, api: HotAPI)
|
|
15
15
|
{
|
|
16
16
|
super (copy, api);
|
|
17
17
|
|
|
@@ -48,5 +48,3 @@ export class AdminDashboard extends HotComponent
|
|
|
48
48
|
</main>`);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
Hot.CurrentPage.processor.addComponent (AdminDashboard);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, Hot, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, Hot, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
|
|
3
3
|
export class AdminEdit extends HotComponent
|
|
4
4
|
{
|
|
@@ -27,7 +27,7 @@ export class AdminEdit extends HotComponent
|
|
|
27
27
|
*/
|
|
28
28
|
modalId: string;
|
|
29
29
|
|
|
30
|
-
constructor (copy:
|
|
30
|
+
constructor (copy: HotComponent | HotStaq, api: HotAPI)
|
|
31
31
|
{
|
|
32
32
|
super (copy, api);
|
|
33
33
|
|
|
@@ -107,5 +107,3 @@ export class AdminEdit extends HotComponent
|
|
|
107
107
|
}]);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
|
|
111
|
-
Hot.CurrentPage.processor.addComponent (AdminEdit);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, Hot, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, Hot, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
|
|
3
3
|
export class AdminTableField extends HotComponent
|
|
4
4
|
{
|
|
@@ -7,7 +7,7 @@ export class AdminTableField extends HotComponent
|
|
|
7
7
|
*/
|
|
8
8
|
field: number;
|
|
9
9
|
|
|
10
|
-
constructor (copy:
|
|
10
|
+
constructor (copy: HotComponent | HotStaq, api: HotAPI)
|
|
11
11
|
{
|
|
12
12
|
super (copy, api);
|
|
13
13
|
|
|
@@ -36,5 +36,3 @@ export class AdminTableField extends HotComponent
|
|
|
36
36
|
}]);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
|
|
40
|
-
Hot.CurrentPage.processor.addComponent (AdminTableField);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, Hot, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, Hot, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
|
|
3
3
|
export class AdminTableRow extends HotComponent
|
|
4
4
|
{
|
|
@@ -7,7 +7,7 @@ export class AdminTableRow extends HotComponent
|
|
|
7
7
|
*/
|
|
8
8
|
fields: any[];
|
|
9
9
|
|
|
10
|
-
constructor (copy:
|
|
10
|
+
constructor (copy: HotComponent | HotStaq, api: HotAPI)
|
|
11
11
|
{
|
|
12
12
|
super (copy, api);
|
|
13
13
|
|
|
@@ -53,5 +53,3 @@ export class AdminTableRow extends HotComponent
|
|
|
53
53
|
}]);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
|
|
57
|
-
Hot.CurrentPage.processor.addComponent (AdminTableRow);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, Hot, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, Hot, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
import { AdminTableField } from "./admin-table-field";
|
|
3
3
|
|
|
4
4
|
export class AdminTable extends HotComponent
|
|
@@ -39,7 +39,7 @@ export class AdminTable extends HotComponent
|
|
|
39
39
|
*/
|
|
40
40
|
rowElements: { fields: any[]; html: string; }[] = [];
|
|
41
41
|
|
|
42
|
-
constructor (copy:
|
|
42
|
+
constructor (copy: HotComponent | HotStaq, api: HotAPI)
|
|
43
43
|
{
|
|
44
44
|
super (copy, api);
|
|
45
45
|
|
|
@@ -154,5 +154,3 @@ export class AdminTable extends HotComponent
|
|
|
154
154
|
</div>`);
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
|
-
|
|
158
|
-
Hot.CurrentPage.processor.addComponent (AdminTable);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HotStaq, Hot, HotAPI, HotComponent
|
|
1
|
+
import { HotStaq, Hot, HotAPI, HotComponent } from "hotstaq";
|
|
2
2
|
|
|
3
3
|
export class AdminText extends HotComponent
|
|
4
4
|
{
|
|
@@ -7,7 +7,7 @@ export class AdminText extends HotComponent
|
|
|
7
7
|
*/
|
|
8
8
|
field: string;
|
|
9
9
|
|
|
10
|
-
constructor (copy:
|
|
10
|
+
constructor (copy: HotComponent | HotStaq, api: HotAPI)
|
|
11
11
|
{
|
|
12
12
|
super (copy, api);
|
|
13
13
|
|
|
@@ -40,5 +40,3 @@ export class AdminText extends HotComponent
|
|
|
40
40
|
</div>`);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
|
|
44
|
-
Hot.CurrentPage.processor.addComponent (AdminText);
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
const webpack = require ("webpack");
|
|
2
|
+
|
|
3
|
+
const fs = require ("fs");
|
|
4
|
+
const ppath = require ("path");
|
|
5
|
+
|
|
6
|
+
const packageStr = fs.readFileSync (process.cwd () + "/package.json").toString ();
|
|
7
|
+
const packageJSON = JSON.parse (packageStr);
|
|
8
|
+
let packageVersion = packageJSON.version.toString ();
|
|
9
|
+
|
|
10
|
+
module.exports = {
|
|
11
|
+
entry: "./src/WebExport.ts",
|
|
12
|
+
devtool: "inline-source-map",
|
|
13
|
+
target: "web",
|
|
14
|
+
module: {
|
|
15
|
+
rules: [{
|
|
16
|
+
test: new RegExp ("\.tsx?$"),
|
|
17
|
+
use: [{
|
|
18
|
+
loader: "ts-loader",
|
|
19
|
+
options: {
|
|
20
|
+
transpileOnly: true,
|
|
21
|
+
configFile: "tsconfig-web.json"
|
|
22
|
+
}
|
|
23
|
+
}],
|
|
24
|
+
exclude: new RegExp ("node_modules")
|
|
25
|
+
}]
|
|
26
|
+
},
|
|
27
|
+
plugins: [
|
|
28
|
+
new webpack.DefinePlugin ({
|
|
29
|
+
__VERSION__: `\"${packageVersion}\"`
|
|
30
|
+
}),
|
|
31
|
+
new webpack.IgnorePlugin ({
|
|
32
|
+
resourceRegExp:
|
|
33
|
+
/HotStaq|Hot|HotFile|HotTestElement|HotCLI|HotGenerator|HotDB|HotDBInflux|InfluxSchema|HotDBMySQL|HotDBSchema|HotHTTPServer|HotAgentRoute|HotTesterServer|HotTesterMochaSelenium|HotTestSeleniumDriver|HotIO|HotCreator|HotBuilder|HotTesterMocha|express|mysql|rimraf|graceful-fs|fs-extra/
|
|
34
|
+
})
|
|
35
|
+
],
|
|
36
|
+
resolve: {
|
|
37
|
+
extensions: [".tsx", ".ts", ".js"],
|
|
38
|
+
fallback: {
|
|
39
|
+
fs: false,
|
|
40
|
+
path: false,
|
|
41
|
+
net: false,
|
|
42
|
+
tls: false,
|
|
43
|
+
crypto: false,
|
|
44
|
+
buffer: false,
|
|
45
|
+
https: false,
|
|
46
|
+
http: false,
|
|
47
|
+
net: false,
|
|
48
|
+
process: false,
|
|
49
|
+
child_process: false,
|
|
50
|
+
stream: false,
|
|
51
|
+
worker_threads: false,
|
|
52
|
+
url: false,
|
|
53
|
+
util: false,
|
|
54
|
+
zlib: false
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
externals: {
|
|
58
|
+
"validate-npm-package-name": "{}",
|
|
59
|
+
"dotenv": "{}",
|
|
60
|
+
"fs-extra": "{}",
|
|
61
|
+
"HotIO": "{}",
|
|
62
|
+
"hotstaq": "HotStaqWeb",
|
|
63
|
+
"graceful-fs": "{}",
|
|
64
|
+
"node:path": "{}",
|
|
65
|
+
"node:buffer": "{}",
|
|
66
|
+
"node:fs": "{}",
|
|
67
|
+
"node:crypto": "{}",
|
|
68
|
+
"node:https": "{}",
|
|
69
|
+
"node:http": "{}",
|
|
70
|
+
"node:net": "{}",
|
|
71
|
+
"node:process": "{}",
|
|
72
|
+
"node:child_process": "{}",
|
|
73
|
+
"node:stream/web": "{}",
|
|
74
|
+
"node:stream": "{}",
|
|
75
|
+
"node:url": "{}",
|
|
76
|
+
"node:util": "{}",
|
|
77
|
+
"node:zlib": "{}"
|
|
78
|
+
},
|
|
79
|
+
output: {
|
|
80
|
+
filename: "AdminPanel.js",
|
|
81
|
+
path: ppath.resolve (process.cwd (), "build-web"),
|
|
82
|
+
library: "AdminPanelWeb",
|
|
83
|
+
libraryTarget: "var"
|
|
84
|
+
}
|
|
85
|
+
};
|