fwtoolkit 0.1.0-alpha.5 → 0.1.0-alpha.7
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/README.md +41 -9
- package/css/alerts.css +7 -0
- package/css/dialog.css +62 -0
- package/css/overview_menu.css +7 -0
- package/dist/basic.d.ts +70 -0
- package/dist/basic.d.ts.map +1 -0
- package/dist/basic.js +447 -0
- package/dist/basic.js.map +1 -0
- package/dist/blob.d.ts +2 -0
- package/dist/blob.d.ts.map +1 -0
- package/dist/blob.js +12 -0
- package/dist/blob.js.map +1 -0
- package/dist/content_menu.d.ts +31 -0
- package/dist/content_menu.d.ts.map +1 -0
- package/dist/content_menu.js +360 -0
- package/dist/content_menu.js.map +1 -0
- package/dist/datatable_bulk.d.ts +14 -0
- package/dist/datatable_bulk.d.ts.map +1 -0
- package/dist/datatable_bulk.js +176 -0
- package/dist/datatable_bulk.js.map +1 -0
- package/dist/dialog.d.ts +18 -0
- package/dist/dialog.d.ts.map +1 -0
- package/dist/dialog.js +395 -0
- package/dist/dialog.js.map +1 -0
- package/dist/events.d.ts +2 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +11 -0
- package/dist/events.js.map +1 -0
- package/dist/faq_dialog.d.ts +8 -0
- package/dist/faq_dialog.d.ts.map +1 -0
- package/dist/faq_dialog.js +63 -0
- package/dist/faq_dialog.js.map +1 -0
- package/dist/file/dialog.d.ts +27 -0
- package/dist/file/dialog.d.ts.map +1 -0
- package/dist/file/dialog.js +125 -0
- package/dist/file/dialog.js.map +1 -0
- package/dist/file/index.d.ts +5 -0
- package/dist/file/index.d.ts.map +1 -0
- package/dist/file/index.js +6 -0
- package/dist/file/index.js.map +1 -0
- package/dist/file/new_folder_dialog.d.ts +5 -0
- package/dist/file/new_folder_dialog.d.ts.map +1 -0
- package/dist/file/new_folder_dialog.js +34 -0
- package/dist/file/new_folder_dialog.js.map +1 -0
- package/dist/file/selector.d.ts +22 -0
- package/dist/file/selector.d.ts.map +1 -0
- package/dist/file/selector.js +239 -0
- package/dist/file/selector.js.map +1 -0
- package/dist/file/templates.d.ts +5 -0
- package/dist/file/templates.d.ts.map +1 -0
- package/dist/file/templates.js +9 -0
- package/dist/file/templates.js.map +1 -0
- package/dist/file/tools.d.ts +5 -0
- package/dist/file/tools.d.ts.map +1 -0
- package/dist/file/tools.js +51 -0
- package/dist/file/tools.js.map +1 -0
- package/dist/focus.d.ts +3 -0
- package/dist/focus.d.ts.map +1 -0
- package/dist/focus.js +12 -0
- package/dist/focus.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/network.d.ts +11 -0
- package/dist/network.d.ts.map +1 -0
- package/dist/network.js +113 -0
- package/dist/network.js.map +1 -0
- package/dist/overview_menu.d.ts +27 -0
- package/dist/overview_menu.d.ts.map +1 -0
- package/dist/overview_menu.js +536 -0
- package/dist/overview_menu.js.map +1 -0
- package/dist/settings.d.ts +3 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +16 -0
- package/dist/settings.js.map +1 -0
- package/dist/user.d.ts +6 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +45 -0
- package/dist/user.js.map +1 -0
- package/dist/worker.d.ts +2 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +12 -0
- package/dist/worker.js.map +1 -0
- package/dist/ws.d.ts +46 -0
- package/dist/ws.d.ts.map +1 -0
- package/dist/ws.js +329 -0
- package/dist/ws.js.map +1 -0
- package/package.json +26 -4
- package/src/{basic.js → basic.ts} +1 -0
- package/src/{blob.js → blob.ts} +1 -0
- package/src/{content_menu.js → content_menu.ts} +3 -2
- package/src/{datatable_bulk.js → datatable_bulk.ts} +1 -0
- package/src/{dialog.js → dialog.ts} +1 -0
- package/src/{events.js → events.ts} +1 -0
- package/src/{faq_dialog.js → faq_dialog.ts} +1 -0
- package/src/file/{dialog.js → dialog.ts} +1 -0
- package/src/file/{index.js → index.ts} +1 -0
- package/src/file/{new_folder_dialog.js → new_folder_dialog.ts} +1 -0
- package/src/file/{selector.js → selector.ts} +1 -0
- package/src/file/{templates.js → templates.ts} +1 -0
- package/src/file/{tools.js → tools.ts} +1 -0
- package/src/{focus.js → focus.ts} +1 -0
- package/src/global.d.ts +11 -0
- package/src/{index.js → index.ts} +1 -2
- package/src/{network.js → network.ts} +1 -0
- package/src/{overview_menu.js → overview_menu.ts} +2 -1
- package/src/{settings.js → settings.ts} +1 -0
- package/src/{user.js → user.ts} +1 -0
- package/src/{worker.js → worker.ts} +1 -0
- package/src/{ws.js → ws.ts} +1 -0
- package/css/ui_dialogs.css +0 -144
- package/src/templates.js +0 -42
- package/src/user_util.js +0 -16
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { escapeText } from "../basic.js";
|
|
3
|
+
import { postJson } from "../network.js";
|
|
4
|
+
export const shortFileTitle = (title, path) => {
|
|
5
|
+
if (!path.length || path.endsWith("/")) {
|
|
6
|
+
return escapeText(title || gettext("Untitled"));
|
|
7
|
+
}
|
|
8
|
+
return escapeText(path.split("/").pop());
|
|
9
|
+
};
|
|
10
|
+
export const longFilePath = (title, path, prefix = "") => {
|
|
11
|
+
if (!path.length) {
|
|
12
|
+
path = "/";
|
|
13
|
+
}
|
|
14
|
+
if (path.endsWith("/")) {
|
|
15
|
+
path += title.replace(/\//g, "") || gettext("Untitled");
|
|
16
|
+
}
|
|
17
|
+
if (prefix.length) {
|
|
18
|
+
const pathParts = path.split("/");
|
|
19
|
+
const fileName = pathParts.pop();
|
|
20
|
+
pathParts.push(prefix + fileName);
|
|
21
|
+
path = pathParts.join("/");
|
|
22
|
+
}
|
|
23
|
+
return path;
|
|
24
|
+
};
|
|
25
|
+
export const cleanPath = (title, path) => {
|
|
26
|
+
if (!path.startsWith("/")) {
|
|
27
|
+
path = "/" + path;
|
|
28
|
+
}
|
|
29
|
+
path = path.replace(/\/{2,}/g, "/"); // replace multiple backslashes
|
|
30
|
+
if (path.endsWith(`/${title.replace(/\//g, "")}` || `/${gettext("Untitled")}`)) {
|
|
31
|
+
path = path.split("/").slice(0, -1).join("/") + "/";
|
|
32
|
+
}
|
|
33
|
+
if (path === "/") {
|
|
34
|
+
path = "";
|
|
35
|
+
}
|
|
36
|
+
return path;
|
|
37
|
+
};
|
|
38
|
+
export const moveFile = (fileId, title, path, moveUrl) => {
|
|
39
|
+
path = cleanPath(title, path);
|
|
40
|
+
return new Promise((resolve, reject) => {
|
|
41
|
+
postJson(moveUrl, { id: fileId, path }).then(({ json }) => {
|
|
42
|
+
if (json.done) {
|
|
43
|
+
resolve(path);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
reject();
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/file/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/focus.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus.d.ts","sourceRoot":"","sources":["../src/focus.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,cAMzB,CAAA;AAED,eAAO,MAAM,aAAa,GAAG,UAAK,SASjC,CAAA"}
|
package/dist/focus.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
// Get the index number of currently focused selement. This it to set tyhe focus close by after doing some dom changes.
|
|
3
|
+
export const getFocusIndex = () => {
|
|
4
|
+
return Array.from(document.querySelectorAll("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]")).findIndex(el => el === document.activeElement);
|
|
5
|
+
};
|
|
6
|
+
export const setFocusIndex = index => {
|
|
7
|
+
const focusableElements = Array.from(document.querySelectorAll("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, [tabindex], [contenteditable]"));
|
|
8
|
+
if (index >= 0 && index < focusableElements.length) {
|
|
9
|
+
focusableElements[index].focus();
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=focus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus.js","sourceRoot":"","sources":["../src/focus.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,uHAAuH;AAEvH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAC9B,OAAO,KAAK,CAAC,IAAI,CACb,QAAQ,CAAC,gBAAgB,CACrB,4KAA4K,CAC/K,CACJ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,aAAa,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE;IACjC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAChC,QAAQ,CAAC,gBAAgB,CACrB,4KAA4K,CAC/K,CACJ,CAAA;IACD,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC;QACjD,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAA;IACpC,CAAC;AACL,CAAC,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { OverviewMenuView } from "./overview_menu.js";
|
|
2
|
+
export { dropdownSelect, setCheckableLabel, activateWait, deactivateWait, addAlert, langName, localizeDate, enableDatePicker, noSpaceTmp, escapeText, unescapeText, infoTooltip, cancelPromise, findTarget, whenReady, setDocTitle, showSystemMessage } from "./basic.js";
|
|
3
|
+
export { convertDataURIToBlob } from "./blob.js";
|
|
4
|
+
export { isActivationEvent } from "./events.js";
|
|
5
|
+
export { getFocusIndex, setFocusIndex } from "./focus.js";
|
|
6
|
+
export { get, getJson, post, postJson, postBare, ensureCSS, getCookie } from "./network.js";
|
|
7
|
+
export { setLanguage, avatarTemplate } from "./user.js";
|
|
8
|
+
export { Dialog } from "./dialog.js";
|
|
9
|
+
export { ContentMenu } from "./content_menu.js";
|
|
10
|
+
export { makeWorker } from "./worker.js";
|
|
11
|
+
export { WebSocketConnector } from "./ws.js";
|
|
12
|
+
export { DatatableBulk } from "./datatable_bulk.js";
|
|
13
|
+
export { faqDialog } from "./faq_dialog.js";
|
|
14
|
+
export { FileDialog, FileSelector, cleanPath, moveFile, shortFileTitle, longFilePath, NewFolderDialog } from "./file/index.js";
|
|
15
|
+
export { initSettings, getSettings } from "./settings.js";
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACpB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAC,oBAAoB,EAAC,MAAM,WAAW,CAAA;AAE9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,YAAY,CAAA;AAEvD,OAAO,EACH,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EACH,WAAW,EACX,cAAc,EACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AACzC,OAAO,EACH,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,eAAe,EAClB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,YAAY,EACZ,WAAW,EACd,MAAM,eAAe,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
export { OverviewMenuView } from "./overview_menu.js";
|
|
3
|
+
export { dropdownSelect, setCheckableLabel, activateWait, deactivateWait, addAlert, langName, localizeDate, enableDatePicker, noSpaceTmp, escapeText, unescapeText, infoTooltip, cancelPromise, findTarget, whenReady, setDocTitle, showSystemMessage } from "./basic.js";
|
|
4
|
+
export { convertDataURIToBlob } from "./blob.js";
|
|
5
|
+
export { isActivationEvent } from "./events.js";
|
|
6
|
+
export { getFocusIndex, setFocusIndex } from "./focus.js";
|
|
7
|
+
export { get, getJson, post, postJson, postBare, ensureCSS, getCookie } from "./network.js";
|
|
8
|
+
export { setLanguage, avatarTemplate } from "./user.js";
|
|
9
|
+
export { Dialog } from "./dialog.js";
|
|
10
|
+
export { ContentMenu } from "./content_menu.js";
|
|
11
|
+
export { makeWorker } from "./worker.js";
|
|
12
|
+
export { WebSocketConnector } from "./ws.js";
|
|
13
|
+
export { DatatableBulk } from "./datatable_bulk.js";
|
|
14
|
+
export { faqDialog } from "./faq_dialog.js";
|
|
15
|
+
export { FileDialog, FileSelector, cleanPath, moveFile, shortFileTitle, longFilePath, NewFolderDialog } from "./file/index.js";
|
|
16
|
+
export { initSettings, getSettings } from "./settings.js";
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AACnD,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACpB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAC,oBAAoB,EAAC,MAAM,WAAW,CAAA;AAE9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,YAAY,CAAA;AAEvD,OAAO,EACH,GAAG,EACH,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EACH,WAAW,EACX,cAAc,EACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAClC,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAA;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AACzC,OAAO,EACH,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,eAAe,EAClB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,YAAY,EACZ,WAAW,EACd,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Get cookie to set as part of the request header of all AJAX requests to the server.
|
|
2
|
+
* @param name The name of the token to look for in the cookie.
|
|
3
|
+
*/
|
|
4
|
+
export declare const getCookie: (name: any) => string;
|
|
5
|
+
export declare const get: (url: any, params?: {}, csrfToken?: boolean) => Promise<any>;
|
|
6
|
+
export declare const getJson: (url: any, params?: {}, csrfToken?: boolean) => Promise<any>;
|
|
7
|
+
export declare const postBare: (url: any, object?: {}, files?: {}, options?: {}) => Promise<Response>;
|
|
8
|
+
export declare const post: (url: any, object?: {}, files?: {}, options?: {}) => Promise<any>;
|
|
9
|
+
export declare const postJson: (url: any, object?: {}, files?: {}, options?: {}) => Promise<any>;
|
|
10
|
+
export declare const ensureCSS: (cssUrl: any) => boolean;
|
|
11
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,SAAS,GAAG,SAAI,WAkB5B,CAAA;AAUD,eAAO,MAAM,GAAG,GAAI,QAAG,EAAE,WAAW,EAAE,mBAAiB,iBAuBtD,CAAA;AAED,eAAO,MAAM,OAAO,GAAI,QAAG,EAAE,WAAW,EAAE,mBAAiB,iBACM,CAAA;AAEjE,eAAO,MAAM,QAAQ,GAAI,QAAG,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,sBAsClE,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,QAAG,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,iBAE9D,CAAA;AAGD,eAAO,MAAM,QAAQ,GAAI,QAAG,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,iBAG9D,CAAA;AAEL,eAAO,MAAM,SAAS,GAAG,WAAM,YAgB9B,CAAA"}
|
package/dist/network.js
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { getSettings } from "./settings.js";
|
|
3
|
+
/** Get cookie to set as part of the request header of all AJAX requests to the server.
|
|
4
|
+
* @param name The name of the token to look for in the cookie.
|
|
5
|
+
*/
|
|
6
|
+
export const getCookie = name => {
|
|
7
|
+
if (!document.cookie || document.cookie === "") {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const cookie = document.cookie
|
|
11
|
+
.split(";")
|
|
12
|
+
.map(cookie => cookie.trim())
|
|
13
|
+
.find(cookie => {
|
|
14
|
+
if (cookie.substring(0, name.length + 1) == name + "=") {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
if (cookie) {
|
|
22
|
+
return decodeURIComponent(cookie.substring(name.length + 1));
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
};
|
|
26
|
+
/* from https://www.tjvantoll.com/2015/09/13/fetch-and-errors/ */
|
|
27
|
+
const handleFetchErrors = response => {
|
|
28
|
+
if (!response.ok) {
|
|
29
|
+
throw response;
|
|
30
|
+
}
|
|
31
|
+
return response;
|
|
32
|
+
};
|
|
33
|
+
export const get = (url, params = {}, csrfToken = false) => {
|
|
34
|
+
const settings = getSettings();
|
|
35
|
+
if (!csrfToken) {
|
|
36
|
+
csrfToken = settings.getCsrfToken(); // Won't work in web worker.
|
|
37
|
+
}
|
|
38
|
+
const queryString = Object.keys(params)
|
|
39
|
+
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)
|
|
40
|
+
.join("&");
|
|
41
|
+
if (queryString.length) {
|
|
42
|
+
url = `${url}?${queryString}`;
|
|
43
|
+
}
|
|
44
|
+
return fetch(settings.apiUrl(url), {
|
|
45
|
+
method: "GET",
|
|
46
|
+
headers: {
|
|
47
|
+
"X-CSRFToken": csrfToken,
|
|
48
|
+
Accept: "application/json",
|
|
49
|
+
"X-Requested-With": "XMLHttpRequest"
|
|
50
|
+
},
|
|
51
|
+
credentials: "include"
|
|
52
|
+
}).then(handleFetchErrors);
|
|
53
|
+
};
|
|
54
|
+
export const getJson = (url, params = {}, csrfToken = false) => get(url, params, csrfToken).then(response => response.json());
|
|
55
|
+
export const postBare = (url, object = {}, files = {}, options = {}) => {
|
|
56
|
+
const settings = getSettings();
|
|
57
|
+
const { csrfToken: csrfTokenOpt, keepalive = false } = options;
|
|
58
|
+
const csrfToken = csrfTokenOpt || settings.getCsrfToken(); // Won't work in web worker.
|
|
59
|
+
const fetchOptions = {
|
|
60
|
+
method: "POST",
|
|
61
|
+
headers: {
|
|
62
|
+
"X-CSRFToken": csrfToken,
|
|
63
|
+
Accept: "application/json",
|
|
64
|
+
"X-Requested-With": "XMLHttpRequest"
|
|
65
|
+
},
|
|
66
|
+
credentials: "include",
|
|
67
|
+
keepalive
|
|
68
|
+
};
|
|
69
|
+
if (Object.keys(files).length) {
|
|
70
|
+
const body = new FormData();
|
|
71
|
+
body.append("csrfmiddlewaretoken", csrfToken);
|
|
72
|
+
body.append("json", JSON.stringify(object));
|
|
73
|
+
Object.keys(files).forEach(key => {
|
|
74
|
+
const value = files[key];
|
|
75
|
+
if (typeof value === "object" && value.file && value.filename) {
|
|
76
|
+
body.append(key, value.file, value.filename);
|
|
77
|
+
}
|
|
78
|
+
else if (Array.isArray(value)) {
|
|
79
|
+
value.forEach(item => body.append(`${key}[]`, item));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
body.append(key, value);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
fetchOptions.body = body;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
fetchOptions.headers["Content-Type"] = "application/json";
|
|
89
|
+
fetchOptions.body = JSON.stringify(object);
|
|
90
|
+
}
|
|
91
|
+
return fetch(settings.apiUrl(url), fetchOptions);
|
|
92
|
+
};
|
|
93
|
+
export const post = (url, object = {}, files = {}, options = {}) => {
|
|
94
|
+
return postBare(url, object, files, options).then(handleFetchErrors);
|
|
95
|
+
};
|
|
96
|
+
// post json object and return json and status
|
|
97
|
+
export const postJson = (url, object = {}, files = {}, options = {}) => post(url, object, files, options).then(response => response.json().then(json => ({ json, status: response.status })));
|
|
98
|
+
export const ensureCSS = cssUrl => {
|
|
99
|
+
if (typeof cssUrl === "object") {
|
|
100
|
+
cssUrl.forEach(url => ensureCSS(url));
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const link = document.createElement("link");
|
|
104
|
+
link.rel = "stylesheet";
|
|
105
|
+
link.href = cssUrl;
|
|
106
|
+
const styleSheet = Array.from(document.styleSheets).find(styleSheet => styleSheet.href === link.href);
|
|
107
|
+
if (!styleSheet) {
|
|
108
|
+
document.head.appendChild(link);
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
return false;
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare class OverviewMenuView {
|
|
2
|
+
constructor(overview: any, model: any);
|
|
3
|
+
init(): void;
|
|
4
|
+
addMissingIds(menu: any): void;
|
|
5
|
+
bindEvents(): void;
|
|
6
|
+
setupKeyboardShortcuts(): void;
|
|
7
|
+
onKeydown(event: any): void;
|
|
8
|
+
onFocus(event: any): void;
|
|
9
|
+
findMenuItemFromElement(element: any): any;
|
|
10
|
+
focusMenuItem(menuItem: any): void;
|
|
11
|
+
oninput(event: any): void;
|
|
12
|
+
onclick(event: any): boolean;
|
|
13
|
+
update(): void;
|
|
14
|
+
getMenuHTML(): string;
|
|
15
|
+
getAccessKeyHTML(title: any, accessKey: any): any;
|
|
16
|
+
getMenuItemHTML(menuItem: any): any;
|
|
17
|
+
getSelectionActionDropdownHTML(menuItem: any): string;
|
|
18
|
+
getDropdownHTML(menuItem: any): string;
|
|
19
|
+
getDropdownListHTML(menuItem: any): string;
|
|
20
|
+
getDropdownOptionHTML(menuOption: any, index: any): string;
|
|
21
|
+
getButtonHTML(menuItem: any): string;
|
|
22
|
+
announceForScreenReader(message: any): void;
|
|
23
|
+
getTextHTML(menuItem: any): string;
|
|
24
|
+
getSearchHTML(menuItem: any): string;
|
|
25
|
+
destroy(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=overview_menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview_menu.d.ts","sourceRoot":"","sources":["../src/overview_menu.ts"],"names":[],"mappings":"AAKA,qBAAa,gBAAgB;gBACb,QAAQ,KAAA,EAAE,KAAK,KAAA;IAW3B,IAAI;IAQJ,aAAa,CAAC,IAAI,KAAA;IAYlB,UAAU;IAaV,sBAAsB;IAYtB,SAAS,CAAC,KAAK,KAAA;IA8Lf,OAAO,CAAC,KAAK,KAAA;IA6Bb,uBAAuB,CAAC,OAAO,KAAA;IAe/B,aAAa,CAAC,QAAQ,KAAA;IAOtB,OAAO,CAAC,KAAK,KAAA;IAkBb,OAAO,CAAC,KAAK,KAAA;IAuGb,MAAM;IASN,WAAW;IAYX,gBAAgB,CAAC,KAAK,KAAA,EAAE,SAAS,KAAA;IAajC,eAAe,CAAC,QAAQ,KAAA;IAyBxB,8BAA8B,CAAC,QAAQ,KAAA;IAUvC,eAAe,CAAC,QAAQ,KAAA;IA2BxB,mBAAmB,CAAC,QAAQ,KAAA;IAiB5B,qBAAqB,CAAC,UAAU,KAAA,EAAE,KAAK,KAAA;IAavC,aAAa,CAAC,QAAQ,KAAA;IAWtB,uBAAuB,CAAC,OAAO,KAAA;IAS/B,WAAW,CAAC,QAAQ,KAAA;IAUpB,aAAa,CAAC,QAAQ,KAAA;IAkBtB,OAAO;CAaV"}
|