Skip to content

Commit 9d582d5

Browse files
committed
includeControl flag
1 parent cae7f15 commit 9d582d5

File tree

1 file changed

+44
-40
lines changed
  • src/sparnatural-yasr-tablex-plugin

1 file changed

+44
-40
lines changed

src/sparnatural-yasr-tablex-plugin/index.ts

100644100755
Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const DEFAULT_PAGE_SIZE = 50;
1818
export interface PluginConfig {
1919
openIriInNewWindow: boolean;
2020
tableConfig: DataTables.Settings;
21+
includeControls: boolean;
2122
uriHrefAdapter?: ((uri:string) => string);
2223
bindingSetAdapter?: ((binding:Parser.Binding) => Parser.Binding);
2324
}
@@ -123,7 +124,7 @@ export class TableX implements Plugin<PluginConfig> {
123124
onResize: () => {};
124125
}
125126
| undefined;
126-
public helpReference = "https://triply.cc/docs/yasgui#table";
127+
// public helpReference = "https://github.com/sparna-git/sparnatural-yasgui-plugins";
127128
public label = "Table";
128129
public priority = 10;
129130

@@ -151,6 +152,7 @@ export class TableX implements Plugin<PluginConfig> {
151152

152153
public static defaults: PluginConfig = {
153154
openIriInNewWindow: true,
155+
includeControls: false,
154156
tableConfig: {
155157
dom: "tip", // tip: Table, Page Information and Pager, change to ipt for showing pagination on top
156158
pageLength: DEFAULT_PAGE_SIZE, //default page length
@@ -418,45 +420,47 @@ export class TableX implements Plugin<PluginConfig> {
418420
this.tableControls = document.createElement("div");
419421
this.tableControls.className = "tableControls";
420422

421-
// Compact switch
422-
const toggleWrapper = document.createElement("div");
423-
const switchComponent = document.createElement("label");
424-
const textComponent = document.createElement("span");
425-
textComponent.innerText = "Simple view";
426-
addClass(textComponent, "label");
427-
switchComponent.appendChild(textComponent);
428-
addClass(switchComponent, "switch");
429-
toggleWrapper.appendChild(switchComponent);
430-
this.tableCompactSwitch = document.createElement("input");
431-
switchComponent.addEventListener("change", this.handleSetCompactToggle);
432-
this.tableCompactSwitch.type = "checkbox";
433-
switchComponent.appendChild(this.tableCompactSwitch);
434-
this.tableCompactSwitch.defaultChecked = !!this.persistentConfig.compact;
435-
this.tableControls.appendChild(toggleWrapper);
436-
437-
// Ellipsis switch
438-
const ellipseToggleWrapper = document.createElement("div");
439-
const ellipseSwitchComponent = document.createElement("label");
440-
const ellipseTextComponent = document.createElement("span");
441-
ellipseTextComponent.innerText = "Ellipse";
442-
addClass(ellipseTextComponent, "label");
443-
ellipseSwitchComponent.appendChild(ellipseTextComponent);
444-
addClass(ellipseSwitchComponent, "switch");
445-
ellipseToggleWrapper.appendChild(ellipseSwitchComponent);
446-
this.tableEllipseSwitch = document.createElement("input");
447-
ellipseSwitchComponent.addEventListener("change", this.handleSetEllipsisToggle);
448-
this.tableEllipseSwitch.type = "checkbox";
449-
ellipseSwitchComponent.appendChild(this.tableEllipseSwitch);
450-
this.tableEllipseSwitch.defaultChecked = this.persistentConfig.isEllipsed !== false;
451-
this.tableControls.appendChild(ellipseToggleWrapper);
452-
453-
// Create table filter
454-
this.tableFilterField = document.createElement("input");
455-
this.tableFilterField.className = "tableFilter";
456-
this.tableFilterField.placeholder = "Filter query results";
457-
this.tableFilterField.setAttribute("aria-label", "Filter query results");
458-
this.tableControls.appendChild(this.tableFilterField);
459-
this.tableFilterField.addEventListener("keyup", this.handleTableSearch);
423+
if(this.config.includeControls) {
424+
// Compact switch
425+
const toggleWrapper = document.createElement("div");
426+
const switchComponent = document.createElement("label");
427+
const textComponent = document.createElement("span");
428+
textComponent.innerText = "Simple view";
429+
addClass(textComponent, "label");
430+
switchComponent.appendChild(textComponent);
431+
addClass(switchComponent, "switch");
432+
toggleWrapper.appendChild(switchComponent);
433+
this.tableCompactSwitch = document.createElement("input");
434+
switchComponent.addEventListener("change", this.handleSetCompactToggle);
435+
this.tableCompactSwitch.type = "checkbox";
436+
switchComponent.appendChild(this.tableCompactSwitch);
437+
this.tableCompactSwitch.defaultChecked = !!this.persistentConfig.compact;
438+
this.tableControls.appendChild(toggleWrapper);
439+
440+
// Ellipsis switch
441+
const ellipseToggleWrapper = document.createElement("div");
442+
const ellipseSwitchComponent = document.createElement("label");
443+
const ellipseTextComponent = document.createElement("span");
444+
ellipseTextComponent.innerText = "Ellipse";
445+
addClass(ellipseTextComponent, "label");
446+
ellipseSwitchComponent.appendChild(ellipseTextComponent);
447+
addClass(ellipseSwitchComponent, "switch");
448+
ellipseToggleWrapper.appendChild(ellipseSwitchComponent);
449+
this.tableEllipseSwitch = document.createElement("input");
450+
ellipseSwitchComponent.addEventListener("change", this.handleSetEllipsisToggle);
451+
this.tableEllipseSwitch.type = "checkbox";
452+
ellipseSwitchComponent.appendChild(this.tableEllipseSwitch);
453+
this.tableEllipseSwitch.defaultChecked = this.persistentConfig.isEllipsed !== false;
454+
this.tableControls.appendChild(ellipseToggleWrapper);
455+
456+
// Create table filter
457+
this.tableFilterField = document.createElement("input");
458+
this.tableFilterField.className = "tableFilter";
459+
this.tableFilterField.placeholder = "Filter query results";
460+
this.tableFilterField.setAttribute("aria-label", "Filter query results");
461+
this.tableControls.appendChild(this.tableFilterField);
462+
this.tableFilterField.addEventListener("keyup", this.handleTableSearch);
463+
}
460464

461465
// Create page wrapper
462466
const pageSizerWrapper = document.createElement("div");

0 commit comments

Comments
 (0)