@matdata/yasqe 4.6.1
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/CHANGELOG.md +121 -0
- package/build/ts/grammar/tokenizer.d.ts +37 -0
- package/build/ts/src/CodeMirror.d.ts +21 -0
- package/build/ts/src/autocompleters/classes.d.ts +3 -0
- package/build/ts/src/autocompleters/index.d.ts +39 -0
- package/build/ts/src/autocompleters/prefixes.d.ts +3 -0
- package/build/ts/src/autocompleters/properties.d.ts +3 -0
- package/build/ts/src/autocompleters/variables.d.ts +3 -0
- package/build/ts/src/defaults.d.ts +75 -0
- package/build/ts/src/imgs.d.ts +7 -0
- package/build/ts/src/index.d.ts +303 -0
- package/build/ts/src/prefixFold.d.ts +8 -0
- package/build/ts/src/prefixUtils.d.ts +9 -0
- package/build/ts/src/sparql.d.ts +20 -0
- package/build/ts/src/tokenUtils.d.ts +4 -0
- package/build/ts/src/tooltip.d.ts +2 -0
- package/build/ts/src/trie.d.ts +13 -0
- package/build/yasqe.html +108 -0
- package/build/yasqe.min.css +2 -0
- package/build/yasqe.min.css.map +1 -0
- package/build/yasqe.min.js +3 -0
- package/build/yasqe.min.js.LICENSE.txt +3 -0
- package/build/yasqe.min.js.map +1 -0
- package/grammar/README.md +12 -0
- package/grammar/_tokenizer-table.js +4776 -0
- package/grammar/build.sh +2 -0
- package/grammar/sparql11-grammar.pl +834 -0
- package/grammar/sparqljs-browser-min.js +4535 -0
- package/grammar/tokenizer.ts +729 -0
- package/grammar/util/gen_ll1.pl +37 -0
- package/grammar/util/gen_sparql11.pl +11 -0
- package/grammar/util/ll1.pl +175 -0
- package/grammar/util/output_to_javascript.pl +75 -0
- package/grammar/util/prune.pl +49 -0
- package/grammar/util/rewrite.pl +104 -0
- package/package.json +40 -0
- package/src/CodeMirror.ts +54 -0
- package/src/autocompleters/classes.ts +32 -0
- package/src/autocompleters/index.ts +346 -0
- package/src/autocompleters/prefixes.ts +130 -0
- package/src/autocompleters/properties.ts +28 -0
- package/src/autocompleters/show-hint.scss +38 -0
- package/src/autocompleters/variables.ts +52 -0
- package/src/defaults.ts +149 -0
- package/src/imgs.ts +14 -0
- package/src/index.ts +1089 -0
- package/src/prefixFold.ts +93 -0
- package/src/prefixUtils.ts +65 -0
- package/src/scss/buttons.scss +275 -0
- package/src/scss/codemirrorMods.scss +36 -0
- package/src/scss/yasqe.scss +89 -0
- package/src/sparql.ts +215 -0
- package/src/tokenUtils.ts +121 -0
- package/src/tooltip.ts +31 -0
- package/src/trie.ts +238 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
## 4.6.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2285bff: Fix the display of results of DESCRIBE and CONSTRUCT queries.
|
|
8
|
+
- @zazuko/yasgui-utils@4.6.1
|
|
9
|
+
|
|
10
|
+
## 4.6.0
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 2e04999: Upgrade various dependencies
|
|
15
|
+
- Updated dependencies [2e04999]
|
|
16
|
+
- @zazuko/yasgui-utils@4.6.0
|
|
17
|
+
|
|
18
|
+
## 4.5.0
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- @zazuko/yasgui-utils@4.5.0
|
|
23
|
+
|
|
24
|
+
## 4.4.3
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- b835764: Fix support for CONSTRUCT queries.
|
|
29
|
+
- @zazuko/yasgui-utils@4.4.3
|
|
30
|
+
|
|
31
|
+
## 4.4.2
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- c7ae45e: Fix `Content-Type` header for `fetch` GET request
|
|
36
|
+
- @zazuko/yasgui-utils@4.4.2
|
|
37
|
+
|
|
38
|
+
## 4.4.1
|
|
39
|
+
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- @zazuko/yasgui-utils@4.4.1
|
|
43
|
+
|
|
44
|
+
## 4.4.0
|
|
45
|
+
|
|
46
|
+
### Minor Changes
|
|
47
|
+
|
|
48
|
+
- 2489238: Replace `superagent` with standard `fetch` (from @vemonet in #19)
|
|
49
|
+
|
|
50
|
+
### Patch Changes
|
|
51
|
+
|
|
52
|
+
- @zazuko/yasgui-utils@4.4.0
|
|
53
|
+
|
|
54
|
+
## 4.3.3
|
|
55
|
+
|
|
56
|
+
### Patch Changes
|
|
57
|
+
|
|
58
|
+
- d918c63: Upgrade some dependencies
|
|
59
|
+
- d918c63: Add a `queryBefore` event on Yasgui and Yasqe (by @vemonet, in #16)
|
|
60
|
+
- Updated dependencies [d918c63]
|
|
61
|
+
- Updated dependencies [d918c63]
|
|
62
|
+
- @zazuko/yasgui-utils@4.3.3
|
|
63
|
+
|
|
64
|
+
## 4.3.2
|
|
65
|
+
|
|
66
|
+
### Patch Changes
|
|
67
|
+
|
|
68
|
+
- @zazuko/yasgui-utils@4.3.2
|
|
69
|
+
|
|
70
|
+
## 4.3.1
|
|
71
|
+
|
|
72
|
+
### Patch Changes
|
|
73
|
+
|
|
74
|
+
- @zazuko/yasgui-utils@4.3.1
|
|
75
|
+
|
|
76
|
+
## 4.3.0
|
|
77
|
+
|
|
78
|
+
### Patch Changes
|
|
79
|
+
|
|
80
|
+
- b14ed24: Update Git repository to https://github.com/zazuko/Yasgui
|
|
81
|
+
- Updated dependencies [b14ed24]
|
|
82
|
+
- @zazuko/yasgui-utils@4.3.0
|
|
83
|
+
|
|
84
|
+
All notable changes to this project will be documented in this file.
|
|
85
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
86
|
+
|
|
87
|
+
## [4.0.111](https://github.com/TriplyDB/yasgui/compare/v4.0.109...v4.0.111) (2020-03-20)
|
|
88
|
+
|
|
89
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
90
|
+
|
|
91
|
+
## [4.0.110](https://github.com/TriplyDB/yasgui/compare/v4.0.109...v4.0.110) (2020-03-20)
|
|
92
|
+
|
|
93
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
94
|
+
|
|
95
|
+
## [4.0.108](https://github.com/TriplyDB/yasgui/compare/v4.0.107...v4.0.108) (2020-03-10)
|
|
96
|
+
|
|
97
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
98
|
+
|
|
99
|
+
## [4.0.107](https://github.com/TriplyDB/yasgui/compare/v4.0.106...v4.0.107) (2020-03-01)
|
|
100
|
+
|
|
101
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
102
|
+
|
|
103
|
+
## [4.0.106](https://github.com/TriplyDB/yasgui/compare/v4.0.105...v4.0.106) (2020-02-25)
|
|
104
|
+
|
|
105
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
106
|
+
|
|
107
|
+
## [4.0.105](https://github.com/TriplyDB/yasgui/compare/v4.0.104...v4.0.105) (2020-02-10)
|
|
108
|
+
|
|
109
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
110
|
+
|
|
111
|
+
## [4.0.104](https://github.com/TriplyDB/yasgui/compare/v4.0.103...v4.0.104) (2020-02-10)
|
|
112
|
+
|
|
113
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
114
|
+
|
|
115
|
+
## [4.0.103](https://github.com/TriplyDB/yasgui/compare/v4.0.102...v4.0.103) (2020-02-10)
|
|
116
|
+
|
|
117
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
118
|
+
|
|
119
|
+
## [4.0.102](https://github.com/TriplyDB/yasgui/compare/v4.0.101...v4.0.102) (2020-02-07)
|
|
120
|
+
|
|
121
|
+
**Note:** Version bump only for package @triply/yasqe
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import CodeMirror from "codemirror";
|
|
2
|
+
export interface State {
|
|
3
|
+
tokenize: (stream: CodeMirror.StringStream, state: State) => string;
|
|
4
|
+
inLiteral: "SINGLE" | "DOUBLE" | undefined;
|
|
5
|
+
errorStartPos: number | undefined;
|
|
6
|
+
errorEndPos: number | undefined;
|
|
7
|
+
queryType: "SELECT" | "CONSTRUCT" | "ASK" | "DESCRIBE" | "INSERT" | "DELETE" | "LOAD" | "CLEAR" | "CREATE" | "DROP" | "COPY" | "MOVE" | "ADD" | undefined;
|
|
8
|
+
inPrefixDecl: boolean;
|
|
9
|
+
allowVars: boolean;
|
|
10
|
+
allowBnodes: boolean;
|
|
11
|
+
storeProperty: boolean;
|
|
12
|
+
OK: boolean;
|
|
13
|
+
possibleCurrent: string[];
|
|
14
|
+
possibleNext: string[];
|
|
15
|
+
stack: any[];
|
|
16
|
+
variables: {
|
|
17
|
+
[varName: string]: string;
|
|
18
|
+
};
|
|
19
|
+
prefixes: {
|
|
20
|
+
[prefLabel: string]: string;
|
|
21
|
+
};
|
|
22
|
+
complete: boolean;
|
|
23
|
+
lastProperty: string;
|
|
24
|
+
lastPropertyIndex: number;
|
|
25
|
+
errorMsg: string | undefined;
|
|
26
|
+
lastPredicateOffset: number;
|
|
27
|
+
currentPnameNs: string | undefined;
|
|
28
|
+
possibleFullIri: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface Token {
|
|
31
|
+
quotePos: "end" | "start" | "content" | undefined;
|
|
32
|
+
cat: string;
|
|
33
|
+
style: string;
|
|
34
|
+
string: string;
|
|
35
|
+
start: number;
|
|
36
|
+
}
|
|
37
|
+
export default function (config: CodeMirror.EditorConfiguration): CodeMirror.Mode<State>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Editor as CmEditor, Doc as CmDoc, Token as CmToken, Position as CmPosition, EditorConfiguration as CmEditorConfiguration } from "codemirror";
|
|
2
|
+
import * as sparql11Mode from "../grammar/tokenizer";
|
|
3
|
+
import { TokenizerState } from "./index";
|
|
4
|
+
declare namespace CodeMirror {
|
|
5
|
+
type Doc = CmDoc;
|
|
6
|
+
type Position = CmPosition;
|
|
7
|
+
type EditorConfiguration = CmEditorConfiguration;
|
|
8
|
+
interface Token extends CmToken {
|
|
9
|
+
state: sparql11Mode.State;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
interface CodeMirror extends Omit<CmEditor, "getOption" | "setOption" | "on" | "off"> {
|
|
13
|
+
getOption(opt: "queryType"): TokenizerState["queryType"];
|
|
14
|
+
setOption(opt: "queryType", val: TokenizerState["queryType"]): void;
|
|
15
|
+
foldCode(firstPrefixLine: number, prefix: string, collapse: "fold" | "unfold"): void;
|
|
16
|
+
}
|
|
17
|
+
declare const CodeMirror: {
|
|
18
|
+
new (): CodeMirror;
|
|
19
|
+
signal: (target: any, name: string, ...args: any[]) => void;
|
|
20
|
+
};
|
|
21
|
+
export default CodeMirror;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { default as Yasqe, Token, Hint, Position, Config } from "../";
|
|
2
|
+
import { EventEmitter } from "events";
|
|
3
|
+
export interface CompleterConfig {
|
|
4
|
+
onInitialize?: (this: CompleterConfig, yasqe: Yasqe) => void;
|
|
5
|
+
isValidCompletionPosition: (yasqe: Yasqe) => boolean;
|
|
6
|
+
get: (yasqe: Yasqe, token?: AutocompletionToken) => Promise<string[]> | string[];
|
|
7
|
+
preProcessToken?: (yasqe: Yasqe, token: Token) => AutocompletionToken;
|
|
8
|
+
postProcessSuggestion?: (yasqe: Yasqe, token: AutocompletionToken, suggestedString: string) => string;
|
|
9
|
+
postprocessHints?: (yasqe: Yasqe, hints: Hint[]) => Hint[];
|
|
10
|
+
bulk: boolean;
|
|
11
|
+
autoShow?: boolean;
|
|
12
|
+
persistenceId?: Config["persistenceId"];
|
|
13
|
+
name: string;
|
|
14
|
+
}
|
|
15
|
+
export interface AutocompletionToken extends Token {
|
|
16
|
+
autocompletionString?: string;
|
|
17
|
+
tokenPrefix?: string;
|
|
18
|
+
tokenPrefixUri?: string;
|
|
19
|
+
from?: Partial<Position>;
|
|
20
|
+
to?: Partial<Position>;
|
|
21
|
+
}
|
|
22
|
+
export declare class Completer extends EventEmitter {
|
|
23
|
+
protected yasqe: Yasqe;
|
|
24
|
+
private trie?;
|
|
25
|
+
private config;
|
|
26
|
+
constructor(yasqe: Yasqe, config: CompleterConfig);
|
|
27
|
+
private getStorageId;
|
|
28
|
+
private storeBulkCompletions;
|
|
29
|
+
getCompletions(token?: AutocompletionToken): Promise<string[]>;
|
|
30
|
+
initialize(): Promise<void>;
|
|
31
|
+
private isValidPosition;
|
|
32
|
+
private getHint;
|
|
33
|
+
private getHints;
|
|
34
|
+
autocomplete(fromAutoShow: boolean): boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare function preprocessIriForCompletion(yasqe: Yasqe, token: AutocompletionToken): AutocompletionToken;
|
|
37
|
+
export declare function postprocessIriCompletion(_yasqe: Yasqe, token: AutocompletionToken, suggestedString: string): string;
|
|
38
|
+
export declare const fetchFromLov: (yasqe: Yasqe, type: "class" | "property", token?: AutocompletionToken) => Promise<string[]>;
|
|
39
|
+
export declare var completers: CompleterConfig[];
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { default as Yasqe, PlainRequestConfig } from "./";
|
|
2
|
+
export default function get(): {
|
|
3
|
+
requestConfig: PlainRequestConfig;
|
|
4
|
+
value?: any;
|
|
5
|
+
mode: string;
|
|
6
|
+
theme?: string;
|
|
7
|
+
indentUnit?: number;
|
|
8
|
+
smartIndent?: boolean;
|
|
9
|
+
tabSize?: number;
|
|
10
|
+
indentWithTabs?: boolean;
|
|
11
|
+
electricChars?: boolean;
|
|
12
|
+
rtlMoveVisually?: boolean;
|
|
13
|
+
keyMap?: string;
|
|
14
|
+
extraKeys?: string | import("codemirror").KeyMap;
|
|
15
|
+
lineWrapping?: boolean;
|
|
16
|
+
lineNumbers?: boolean;
|
|
17
|
+
firstLineNumber?: number;
|
|
18
|
+
lineNumberFormatter?: (line: number) => string;
|
|
19
|
+
gutters?: string[];
|
|
20
|
+
foldGutter: any;
|
|
21
|
+
fixedGutter?: boolean;
|
|
22
|
+
scrollbarStyle?: string;
|
|
23
|
+
coverGutterNextToScrollbar?: boolean;
|
|
24
|
+
inputStyle?: import("codemirror").InputStyle;
|
|
25
|
+
readOnly?: any;
|
|
26
|
+
screenReaderLabel?: string;
|
|
27
|
+
showCursorWhenSelecting?: boolean;
|
|
28
|
+
lineWiseCopyCut?: boolean;
|
|
29
|
+
pasteLinesPerSelection?: boolean;
|
|
30
|
+
selectionsMayTouch?: boolean;
|
|
31
|
+
undoDepth?: number;
|
|
32
|
+
historyEventDelay?: number;
|
|
33
|
+
tabindex?: number;
|
|
34
|
+
autofocus?: boolean;
|
|
35
|
+
dragDrop?: boolean;
|
|
36
|
+
allowDropFileTypes?: Array<string>;
|
|
37
|
+
onDragEvent?: (instance: CodeMirror.Editor, event: DragEvent) => boolean;
|
|
38
|
+
onKeyEvent?: (instance: CodeMirror.Editor, event: KeyboardEvent) => boolean;
|
|
39
|
+
cursorBlinkRate?: number;
|
|
40
|
+
cursorScrollMargin?: number;
|
|
41
|
+
cursorHeight?: number;
|
|
42
|
+
resetSelectionOnContextMenu?: boolean;
|
|
43
|
+
workTime?: number;
|
|
44
|
+
workDelay?: number;
|
|
45
|
+
pollInterval?: number;
|
|
46
|
+
flattenSpans?: boolean;
|
|
47
|
+
addModeClass?: boolean;
|
|
48
|
+
maxHighlightLength?: number;
|
|
49
|
+
viewportMargin?: number;
|
|
50
|
+
spellcheck?: boolean;
|
|
51
|
+
autocorrect?: boolean;
|
|
52
|
+
autocapitalize?: boolean;
|
|
53
|
+
lint?: boolean | import("codemirror").LintStateOptions | import("codemirror").Linter | import("codemirror").AsyncLinter;
|
|
54
|
+
collapsePrefixesOnLoad: boolean;
|
|
55
|
+
syntaxErrorCheck: boolean;
|
|
56
|
+
createShareableLink: (yasqe: Yasqe) => string;
|
|
57
|
+
createShortLink: ((yasqe: Yasqe, longLink: string) => Promise<string>) | undefined;
|
|
58
|
+
consumeShareLink: ((yasqe: Yasqe) => void) | undefined | null;
|
|
59
|
+
persistenceId: ((yasqe: Yasqe) => string) | string | undefined | null;
|
|
60
|
+
persistencyExpire: number;
|
|
61
|
+
showQueryButton: boolean;
|
|
62
|
+
pluginButtons: (() => HTMLElement[] | HTMLElement) | undefined;
|
|
63
|
+
highlightSelectionMatches: {
|
|
64
|
+
showToken?: RegExp;
|
|
65
|
+
annotateScrollbar?: boolean;
|
|
66
|
+
};
|
|
67
|
+
tabMode: string;
|
|
68
|
+
matchBrackets: boolean;
|
|
69
|
+
autocompleters: string[];
|
|
70
|
+
hintConfig: Partial<import("./").HintConfig>;
|
|
71
|
+
resizeable: boolean;
|
|
72
|
+
editorHeight: string;
|
|
73
|
+
queryingDisabled: string | undefined;
|
|
74
|
+
prefixCcApi: string;
|
|
75
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare var query: string;
|
|
2
|
+
export declare var queryInvalid: string;
|
|
3
|
+
export declare var download: string;
|
|
4
|
+
export declare var share: string;
|
|
5
|
+
export declare var warning: string;
|
|
6
|
+
export declare var fullscreen: string;
|
|
7
|
+
export declare var fullscreenExit: string;
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { Prefixes } from "./prefixUtils";
|
|
2
|
+
import * as sparql11Mode from "../grammar/tokenizer";
|
|
3
|
+
import { Storage as YStorage } from "@matdata/yasgui-utils";
|
|
4
|
+
import * as queryString from "query-string";
|
|
5
|
+
import * as Sparql from "./sparql";
|
|
6
|
+
import * as Autocompleter from "./autocompleters";
|
|
7
|
+
import CodeMirror from "./CodeMirror";
|
|
8
|
+
import { YasqeAjaxConfig } from "./sparql";
|
|
9
|
+
export interface Yasqe {
|
|
10
|
+
on(eventName: "query", handler: (instance: Yasqe, req: Request, abortController?: AbortController) => void): void;
|
|
11
|
+
off(eventName: "query", handler: (instance: Yasqe, req: Request, abortController?: AbortController) => void): void;
|
|
12
|
+
on(eventName: "queryAbort", handler: (instance: Yasqe, req: Request) => void): void;
|
|
13
|
+
off(eventName: "queryAbort", handler: (instance: Yasqe, req: Request) => void): void;
|
|
14
|
+
on(eventName: "queryResponse", handler: (instance: Yasqe, response: any, duration: number) => void): void;
|
|
15
|
+
off(eventName: "queryResponse", handler: (instance: Yasqe, response: any, duration: number) => void): void;
|
|
16
|
+
showHint: (conf: HintConfig) => void;
|
|
17
|
+
on(eventName: "error", handler: (instance: Yasqe) => void): void;
|
|
18
|
+
off(eventName: "error", handler: (instance: Yasqe) => void): void;
|
|
19
|
+
on(eventName: "blur", handler: (instance: Yasqe) => void): void;
|
|
20
|
+
off(eventName: "blur", handler: (instance: Yasqe) => void): void;
|
|
21
|
+
on(eventName: "queryBefore", handler: (instance: Yasqe, config: YasqeAjaxConfig) => void): void;
|
|
22
|
+
off(eventName: "queryBefore", handler: (instance: Yasqe, config: YasqeAjaxConfig) => void): void;
|
|
23
|
+
on(eventName: "queryResults", handler: (instance: Yasqe, results: any, duration: number) => void): void;
|
|
24
|
+
off(eventName: "queryResults", handler: (instance: Yasqe, results: any, duration: number) => void): void;
|
|
25
|
+
on(eventName: "autocompletionShown", handler: (instance: Yasqe, widget: any) => void): void;
|
|
26
|
+
off(eventName: "autocompletionShown", handler: (instance: Yasqe, widget: any) => void): void;
|
|
27
|
+
on(eventName: "autocompletionClose", handler: (instance: Yasqe) => void): void;
|
|
28
|
+
off(eventName: "autocompletionClose", handler: (instance: Yasqe) => void): void;
|
|
29
|
+
on(eventName: "resize", handler: (instance: Yasqe, newSize: string) => void): void;
|
|
30
|
+
off(eventName: "resize", handler: (instance: Yasqe, newSize: string) => void): void;
|
|
31
|
+
on(eventName: string, handler: () => void): void;
|
|
32
|
+
}
|
|
33
|
+
export declare class Yasqe extends CodeMirror {
|
|
34
|
+
private static storageNamespace;
|
|
35
|
+
autocompleters: {
|
|
36
|
+
[name: string]: Autocompleter.Completer | undefined;
|
|
37
|
+
};
|
|
38
|
+
private prevQueryValid;
|
|
39
|
+
queryValid: boolean;
|
|
40
|
+
lastQueryDuration: number | undefined;
|
|
41
|
+
private req;
|
|
42
|
+
private abortController;
|
|
43
|
+
private queryStatus;
|
|
44
|
+
private queryBtn;
|
|
45
|
+
private fullscreenBtn;
|
|
46
|
+
private isFullscreen;
|
|
47
|
+
private resizeWrapper?;
|
|
48
|
+
rootEl: HTMLDivElement;
|
|
49
|
+
storage: YStorage;
|
|
50
|
+
config: Config;
|
|
51
|
+
persistentConfig: PersistentConfig | undefined;
|
|
52
|
+
constructor(parent: HTMLElement, conf?: PartialConfig);
|
|
53
|
+
private handleHashChange;
|
|
54
|
+
private handleChange;
|
|
55
|
+
private handleBlur;
|
|
56
|
+
private handleChanges;
|
|
57
|
+
private handleCursorActivity;
|
|
58
|
+
private handleQuery;
|
|
59
|
+
private handleQueryResponse;
|
|
60
|
+
private handleQueryAbort;
|
|
61
|
+
private registerEventListeners;
|
|
62
|
+
private unregisterEventListeners;
|
|
63
|
+
emit(event: string, ...data: any[]): void;
|
|
64
|
+
getStorageId(getter?: Config["persistenceId"]): string | undefined;
|
|
65
|
+
private drawButtons;
|
|
66
|
+
toggleFullscreen(): void;
|
|
67
|
+
getIsFullscreen(): boolean;
|
|
68
|
+
private drawResizer;
|
|
69
|
+
private initDrag;
|
|
70
|
+
private calculateDragOffset;
|
|
71
|
+
private doDrag;
|
|
72
|
+
private stopDrag;
|
|
73
|
+
duplicateLine(): void;
|
|
74
|
+
private updateQueryButton;
|
|
75
|
+
handleLocalStorageQuotaFull(_e: any): void;
|
|
76
|
+
saveQuery(): void;
|
|
77
|
+
getQueryType(): "SELECT" | "CONSTRUCT" | "ASK" | "DESCRIBE" | "INSERT" | "DELETE" | "LOAD" | "CLEAR" | "CREATE" | "DROP" | "COPY" | "MOVE" | "ADD";
|
|
78
|
+
getQueryMode(): "update" | "query";
|
|
79
|
+
getVariablesFromQuery(): string[];
|
|
80
|
+
private autoformatSelection;
|
|
81
|
+
static autoformatString(text: string): string;
|
|
82
|
+
commentLines(): void;
|
|
83
|
+
autoformat(): void;
|
|
84
|
+
getQueryWithValues(values: string | {
|
|
85
|
+
[varName: string]: string;
|
|
86
|
+
} | Array<{
|
|
87
|
+
[varName: string]: string;
|
|
88
|
+
}>): string;
|
|
89
|
+
getValueWithoutComments(): string;
|
|
90
|
+
setCheckSyntaxErrors(isEnabled: boolean): void;
|
|
91
|
+
checkSyntax(): void;
|
|
92
|
+
getCompleteToken(token?: Token, cur?: Position): Token;
|
|
93
|
+
getPreviousNonWsToken(line: number, token: Token): Token;
|
|
94
|
+
getNextNonWsToken(lineNumber: number, charNumber?: number): Token | undefined;
|
|
95
|
+
private notificationEls;
|
|
96
|
+
showNotification(key: string, message: string): void;
|
|
97
|
+
hideNotification(key: string): void;
|
|
98
|
+
enableCompleter(name: string): Promise<void>;
|
|
99
|
+
disableCompleter(name: string): void;
|
|
100
|
+
autocomplete(fromAutoShow?: boolean): void;
|
|
101
|
+
collapsePrefixes(collapse?: boolean): void;
|
|
102
|
+
getPrefixesFromQuery(): Prefixes;
|
|
103
|
+
addPrefixes(prefixes: string | Prefixes): void;
|
|
104
|
+
removePrefixes(prefixes: Prefixes): void;
|
|
105
|
+
updateWidget(): void;
|
|
106
|
+
query(config?: Sparql.YasqeAjaxConfig): Promise<any>;
|
|
107
|
+
getUrlParams(): queryString.ParsedQuery<string>;
|
|
108
|
+
configToQueryParams(): queryString.ParsedQuery;
|
|
109
|
+
queryParamsToConfig(params: queryString.ParsedQuery): void;
|
|
110
|
+
getAsCurlString(config?: Sparql.YasqeAjaxConfig): string;
|
|
111
|
+
abortQuery(): void;
|
|
112
|
+
expandEditor(): void;
|
|
113
|
+
destroy(): void;
|
|
114
|
+
static Sparql: typeof Sparql;
|
|
115
|
+
static runMode: any;
|
|
116
|
+
static clearStorage(): void;
|
|
117
|
+
static Autocompleters: {
|
|
118
|
+
[name: string]: Autocompleter.CompleterConfig;
|
|
119
|
+
};
|
|
120
|
+
static registerAutocompleter(value: Autocompleter.CompleterConfig, enable?: boolean): void;
|
|
121
|
+
static defaults: {
|
|
122
|
+
requestConfig: PlainRequestConfig;
|
|
123
|
+
value?: any;
|
|
124
|
+
mode: string;
|
|
125
|
+
theme?: string;
|
|
126
|
+
indentUnit?: number;
|
|
127
|
+
smartIndent?: boolean;
|
|
128
|
+
tabSize?: number;
|
|
129
|
+
indentWithTabs?: boolean;
|
|
130
|
+
electricChars?: boolean;
|
|
131
|
+
rtlMoveVisually?: boolean;
|
|
132
|
+
keyMap?: string;
|
|
133
|
+
extraKeys?: string | import("codemirror").KeyMap;
|
|
134
|
+
lineWrapping?: boolean;
|
|
135
|
+
lineNumbers?: boolean;
|
|
136
|
+
firstLineNumber?: number;
|
|
137
|
+
lineNumberFormatter?: (line: number) => string;
|
|
138
|
+
gutters?: string[];
|
|
139
|
+
foldGutter: any;
|
|
140
|
+
fixedGutter?: boolean;
|
|
141
|
+
scrollbarStyle?: string;
|
|
142
|
+
coverGutterNextToScrollbar?: boolean;
|
|
143
|
+
inputStyle?: import("codemirror").InputStyle;
|
|
144
|
+
readOnly?: any;
|
|
145
|
+
screenReaderLabel?: string;
|
|
146
|
+
showCursorWhenSelecting?: boolean;
|
|
147
|
+
lineWiseCopyCut?: boolean;
|
|
148
|
+
pasteLinesPerSelection?: boolean;
|
|
149
|
+
selectionsMayTouch?: boolean;
|
|
150
|
+
undoDepth?: number;
|
|
151
|
+
historyEventDelay?: number;
|
|
152
|
+
tabindex?: number;
|
|
153
|
+
autofocus?: boolean;
|
|
154
|
+
dragDrop?: boolean;
|
|
155
|
+
allowDropFileTypes?: Array<string>;
|
|
156
|
+
onDragEvent?: (instance: import("codemirror").Editor, event: DragEvent) => boolean;
|
|
157
|
+
onKeyEvent?: (instance: import("codemirror").Editor, event: KeyboardEvent) => boolean;
|
|
158
|
+
cursorBlinkRate?: number;
|
|
159
|
+
cursorScrollMargin?: number;
|
|
160
|
+
cursorHeight?: number;
|
|
161
|
+
resetSelectionOnContextMenu?: boolean;
|
|
162
|
+
workTime?: number;
|
|
163
|
+
workDelay?: number;
|
|
164
|
+
pollInterval?: number;
|
|
165
|
+
flattenSpans?: boolean;
|
|
166
|
+
addModeClass?: boolean;
|
|
167
|
+
maxHighlightLength?: number;
|
|
168
|
+
viewportMargin?: number;
|
|
169
|
+
spellcheck?: boolean;
|
|
170
|
+
autocorrect?: boolean;
|
|
171
|
+
autocapitalize?: boolean;
|
|
172
|
+
lint?: boolean | import("codemirror").LintStateOptions | import("codemirror").Linter | import("codemirror").AsyncLinter;
|
|
173
|
+
collapsePrefixesOnLoad: boolean;
|
|
174
|
+
syntaxErrorCheck: boolean;
|
|
175
|
+
createShareableLink: (yasqe: Yasqe) => string;
|
|
176
|
+
createShortLink: ((yasqe: Yasqe, longLink: string) => Promise<string>) | undefined;
|
|
177
|
+
consumeShareLink: ((yasqe: Yasqe) => void) | undefined | null;
|
|
178
|
+
persistenceId: ((yasqe: Yasqe) => string) | string | undefined | null;
|
|
179
|
+
persistencyExpire: number;
|
|
180
|
+
showQueryButton: boolean;
|
|
181
|
+
pluginButtons: (() => HTMLElement[] | HTMLElement) | undefined;
|
|
182
|
+
highlightSelectionMatches: {
|
|
183
|
+
showToken?: RegExp;
|
|
184
|
+
annotateScrollbar?: boolean;
|
|
185
|
+
};
|
|
186
|
+
tabMode: string;
|
|
187
|
+
matchBrackets: boolean;
|
|
188
|
+
autocompleters: string[];
|
|
189
|
+
hintConfig: Partial<HintConfig>;
|
|
190
|
+
resizeable: boolean;
|
|
191
|
+
editorHeight: string;
|
|
192
|
+
queryingDisabled: string | undefined;
|
|
193
|
+
prefixCcApi: string;
|
|
194
|
+
};
|
|
195
|
+
static forkAutocompleter(fromCompleter: string, newCompleter: {
|
|
196
|
+
name: string;
|
|
197
|
+
} & Partial<Autocompleter.CompleterConfig>, enable?: boolean): void;
|
|
198
|
+
}
|
|
199
|
+
export type TokenizerState = sparql11Mode.State;
|
|
200
|
+
export type Position = CodeMirror.Position;
|
|
201
|
+
export type Token = CodeMirror.Token;
|
|
202
|
+
export interface HintList {
|
|
203
|
+
list: Hint[];
|
|
204
|
+
from: Position;
|
|
205
|
+
to: Position;
|
|
206
|
+
}
|
|
207
|
+
export interface Hint {
|
|
208
|
+
text: string;
|
|
209
|
+
displayText?: string;
|
|
210
|
+
className?: string;
|
|
211
|
+
render?: (el: HTMLElement, self: Hint, data: any) => void;
|
|
212
|
+
from?: Position;
|
|
213
|
+
to?: Position;
|
|
214
|
+
}
|
|
215
|
+
export type HintFn = {
|
|
216
|
+
async?: boolean;
|
|
217
|
+
} & (() => Promise<HintList> | HintList);
|
|
218
|
+
export interface HintConfig {
|
|
219
|
+
completeOnSingleClick?: boolean;
|
|
220
|
+
container?: HTMLElement;
|
|
221
|
+
closeCharacters?: RegExp;
|
|
222
|
+
completeSingle?: boolean;
|
|
223
|
+
hint: HintFn;
|
|
224
|
+
alignWithWord?: boolean;
|
|
225
|
+
closeOnUnfocus?: boolean;
|
|
226
|
+
customKeys?: any;
|
|
227
|
+
extraKeys?: {
|
|
228
|
+
[key: string]: (yasqe: Yasqe, event: {
|
|
229
|
+
close: () => void;
|
|
230
|
+
data: {
|
|
231
|
+
from: Position;
|
|
232
|
+
to: Position;
|
|
233
|
+
list: Hint[];
|
|
234
|
+
};
|
|
235
|
+
length: number;
|
|
236
|
+
menuSize: () => void;
|
|
237
|
+
moveFocus: (movement: number) => void;
|
|
238
|
+
pick: () => void;
|
|
239
|
+
setFocus: (index: number) => void;
|
|
240
|
+
}) => void;
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
export interface RequestConfig<Y> {
|
|
244
|
+
queryArgument: string | ((yasqe: Y) => string) | undefined;
|
|
245
|
+
endpoint: string | ((yasqe: Y) => string);
|
|
246
|
+
method: "POST" | "GET" | ((yasqe: Y) => "POST" | "GET");
|
|
247
|
+
acceptHeaderGraph: string | ((yasqe: Y) => string);
|
|
248
|
+
acceptHeaderSelect: string | ((yasqe: Y) => string);
|
|
249
|
+
acceptHeaderUpdate: string | ((yasqe: Y) => string);
|
|
250
|
+
namedGraphs: string[] | ((yasqe: Y) => string[]);
|
|
251
|
+
defaultGraphs: string[] | ((yasqe: Y) => []);
|
|
252
|
+
args: Array<{
|
|
253
|
+
name: string;
|
|
254
|
+
value: string;
|
|
255
|
+
}> | ((yasqe: Y) => Array<{
|
|
256
|
+
name: string;
|
|
257
|
+
value: string;
|
|
258
|
+
}>);
|
|
259
|
+
headers: {
|
|
260
|
+
[key: string]: string;
|
|
261
|
+
} | ((yasqe: Y) => {
|
|
262
|
+
[key: string]: string;
|
|
263
|
+
});
|
|
264
|
+
withCredentials: boolean | ((yasqe: Y) => boolean);
|
|
265
|
+
adjustQueryBeforeRequest: ((yasqe: Y) => string) | false;
|
|
266
|
+
}
|
|
267
|
+
export type PlainRequestConfig = {
|
|
268
|
+
[K in keyof RequestConfig<any>]: Exclude<RequestConfig<any>[K], Function>;
|
|
269
|
+
};
|
|
270
|
+
export type PartialConfig = {
|
|
271
|
+
[P in keyof Config]?: Config[P] extends object ? Partial<Config[P]> : Config[P];
|
|
272
|
+
};
|
|
273
|
+
export interface Config extends Partial<CodeMirror.EditorConfiguration> {
|
|
274
|
+
mode: string;
|
|
275
|
+
collapsePrefixesOnLoad: boolean;
|
|
276
|
+
syntaxErrorCheck: boolean;
|
|
277
|
+
createShareableLink: (yasqe: Yasqe) => string;
|
|
278
|
+
createShortLink: ((yasqe: Yasqe, longLink: string) => Promise<string>) | undefined;
|
|
279
|
+
consumeShareLink: ((yasqe: Yasqe) => void) | undefined | null;
|
|
280
|
+
persistenceId: ((yasqe: Yasqe) => string) | string | undefined | null;
|
|
281
|
+
persistencyExpire: number;
|
|
282
|
+
showQueryButton: boolean;
|
|
283
|
+
requestConfig: RequestConfig<Yasqe> | ((yasqe: Yasqe) => RequestConfig<Yasqe>);
|
|
284
|
+
pluginButtons: (() => HTMLElement[] | HTMLElement) | undefined;
|
|
285
|
+
highlightSelectionMatches: {
|
|
286
|
+
showToken?: RegExp;
|
|
287
|
+
annotateScrollbar?: boolean;
|
|
288
|
+
};
|
|
289
|
+
tabMode: string;
|
|
290
|
+
foldGutter: any;
|
|
291
|
+
matchBrackets: boolean;
|
|
292
|
+
autocompleters: string[];
|
|
293
|
+
hintConfig: Partial<HintConfig>;
|
|
294
|
+
resizeable: boolean;
|
|
295
|
+
editorHeight: string;
|
|
296
|
+
queryingDisabled: string | undefined;
|
|
297
|
+
prefixCcApi: string;
|
|
298
|
+
}
|
|
299
|
+
export interface PersistentConfig {
|
|
300
|
+
query: string;
|
|
301
|
+
editorHeight: string;
|
|
302
|
+
}
|
|
303
|
+
export default Yasqe;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as Yasqe, Position } from "./";
|
|
2
|
+
import CodeMirror from "codemirror";
|
|
3
|
+
export declare function findFirstPrefixLine(yasqe: Yasqe): number;
|
|
4
|
+
export declare function findFirstPrefix(yasqe: Yasqe, line: number, startFromCharIndex?: number, lineText?: string): number;
|
|
5
|
+
export default function (yasqe: Yasqe, start: Position): {
|
|
6
|
+
from: CodeMirror.Position;
|
|
7
|
+
to: CodeMirror.Position;
|
|
8
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as Yasqe, Token } from "./";
|
|
2
|
+
export type Prefixes = {
|
|
3
|
+
[prefixLabel: string]: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function addPrefixes(yasqe: Yasqe, prefixes: string | Prefixes): void;
|
|
6
|
+
export declare function addPrefixAsString(yasqe: Yasqe, prefixString: string): void;
|
|
7
|
+
export declare function removePrefixes(yasqe: Yasqe, prefixes: Prefixes): void;
|
|
8
|
+
export declare function getPrefixesFromQuery(yasqe: Yasqe): Token["state"]["prefixes"];
|
|
9
|
+
export declare function getIndentFromLine(yasqe: Yasqe, line: number, charNumber?: number): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as Yasqe, Config } from "./";
|
|
2
|
+
export type YasqeAjaxConfig = Config["requestConfig"];
|
|
3
|
+
export interface PopulatedAjaxConfig {
|
|
4
|
+
url: string;
|
|
5
|
+
reqMethod: "POST" | "GET";
|
|
6
|
+
headers: {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
};
|
|
9
|
+
accept: string;
|
|
10
|
+
args: RequestArgs;
|
|
11
|
+
withCredentials: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function getAjaxConfig(yasqe: Yasqe, _config?: Partial<Config["requestConfig"]>): PopulatedAjaxConfig | undefined;
|
|
14
|
+
export declare function executeQuery(yasqe: Yasqe, config?: YasqeAjaxConfig): Promise<any>;
|
|
15
|
+
export type RequestArgs = {
|
|
16
|
+
[argName: string]: string | string[];
|
|
17
|
+
};
|
|
18
|
+
export declare function getUrlArguments(yasqe: Yasqe, _config: Config["requestConfig"]): RequestArgs;
|
|
19
|
+
export declare function getAcceptHeader(yasqe: Yasqe, _config: Config["requestConfig"]): any;
|
|
20
|
+
export declare function getAsCurlString(yasqe: Yasqe, _config?: Config["requestConfig"]): string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { default as Yasqe, Token, Position } from "./";
|
|
2
|
+
export declare function getCompleteToken(yasqe: Yasqe, token?: Token, cur?: Position): Token;
|
|
3
|
+
export declare function getPreviousNonWsToken(yasqe: Yasqe, line: number, token: Token): Token;
|
|
4
|
+
export declare function getNextNonWsToken(yasqe: Yasqe, lineNumber: number, charNumber?: number): Token | undefined;
|