mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2026-06-13 07:57:26 +01:00
Fix eslint issues for some files
This commit is contained in:
+5
-5
@@ -68,17 +68,17 @@ src/Explorer/Notebook/NotebookComponent/reducers.ts
|
|||||||
src/Explorer/Notebook/NotebookComponent/store.ts
|
src/Explorer/Notebook/NotebookComponent/store.ts
|
||||||
src/Explorer/Notebook/NotebookComponent/types.ts
|
src/Explorer/Notebook/NotebookComponent/types.ts
|
||||||
src/Explorer/Notebook/NotebookContainerClient.ts
|
src/Explorer/Notebook/NotebookContainerClient.ts
|
||||||
src/Explorer/Notebook/NotebookContentClient.ts
|
# src/Explorer/Notebook/NotebookContentClient.ts
|
||||||
src/Explorer/Notebook/NotebookContentItem.ts
|
src/Explorer/Notebook/NotebookContentItem.ts
|
||||||
src/Explorer/Notebook/NotebookUtil.ts
|
# src/Explorer/Notebook/NotebookUtil.ts
|
||||||
src/Explorer/OpenActionsStubs.ts
|
# src/Explorer/OpenActionsStubs.ts
|
||||||
src/Explorer/Panes/Tables/Validators/EntityPropertyNameValidator.ts
|
src/Explorer/Panes/Tables/Validators/EntityPropertyNameValidator.ts
|
||||||
src/Explorer/Panes/Tables/Validators/EntityPropertyValidationCommon.ts
|
src/Explorer/Panes/Tables/Validators/EntityPropertyValidationCommon.ts
|
||||||
src/Explorer/Panes/Tables/Validators/EntityPropertyValueValidator.ts
|
src/Explorer/Panes/Tables/Validators/EntityPropertyValueValidator.ts
|
||||||
src/Explorer/SplashScreen/SplashScreen.test.ts
|
src/Explorer/SplashScreen/SplashScreen.test.ts
|
||||||
src/Explorer/Tables/DataTable/CacheBase.ts
|
src/Explorer/Tables/DataTable/CacheBase.ts
|
||||||
src/Explorer/Tables/DataTable/DataTableBindingManager.ts
|
# src/Explorer/Tables/DataTable/DataTableBindingManager.ts
|
||||||
src/Explorer/Tables/DataTable/DataTableBuilder.ts
|
# src/Explorer/Tables/DataTable/DataTableBuilder.ts
|
||||||
src/Explorer/Tables/DataTable/DataTableContextMenu.ts
|
src/Explorer/Tables/DataTable/DataTableContextMenu.ts
|
||||||
src/Explorer/Tables/DataTable/DataTableOperationManager.ts
|
src/Explorer/Tables/DataTable/DataTableOperationManager.ts
|
||||||
src/Explorer/Tables/DataTable/DataTableViewModel.ts
|
src/Explorer/Tables/DataTable/DataTableViewModel.ts
|
||||||
|
|||||||
@@ -228,11 +228,12 @@ export class NotebookContentClient {
|
|||||||
|
|
||||||
public async readFileContent(filePath: string): Promise<string> {
|
public async readFileContent(filePath: string): Promise<string> {
|
||||||
const xhr = await this.contentProvider.get(this.getServerConfig(), filePath, { content: 1 }).toPromise();
|
const xhr = await this.contentProvider.get(this.getServerConfig(), filePath, { content: 1 }).toPromise();
|
||||||
|
//eslint-disable-next-line
|
||||||
const content = (xhr.response as any).content;
|
const content = (xhr.response as any).content;
|
||||||
if (!content) {
|
if (!content) {
|
||||||
throw new Error("No content read");
|
throw new Error("No content read");
|
||||||
}
|
}
|
||||||
|
//eslint-disable-next-line
|
||||||
const format = (xhr.response as any).format;
|
const format = (xhr.response as any).format;
|
||||||
switch (format) {
|
switch (format) {
|
||||||
case "text":
|
case "text":
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { NotebookContentItem, NotebookContentItemType } from "./NotebookContentI
|
|||||||
// Must match rx-jupyter' FileType
|
// Must match rx-jupyter' FileType
|
||||||
export type FileType = "directory" | "file" | "notebook";
|
export type FileType = "directory" | "file" | "notebook";
|
||||||
// Utilities for notebooks
|
// Utilities for notebooks
|
||||||
|
//eslint-disable-next-line
|
||||||
export class NotebookUtil {
|
export class NotebookUtil {
|
||||||
public static UntrustedNotebookRunHint = "Please trust notebook first before running any code cells";
|
public static UntrustedNotebookRunHint = "Please trust notebook first before running any code cells";
|
||||||
|
|
||||||
@@ -190,6 +191,7 @@ export class NotebookUtil {
|
|||||||
subSnapshots: SnapshotFragment[],
|
subSnapshots: SnapshotFragment[],
|
||||||
downloadFilename?: string
|
downloadFilename?: string
|
||||||
): Promise<{ imageSrc: string | undefined }> => {
|
): Promise<{ imageSrc: string | undefined }> => {
|
||||||
|
// eslint-disable-next-line no-async-promise-executor
|
||||||
return new Promise(async (resolve, reject) => {
|
return new Promise(async (resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
// target.scrollIntoView();
|
// target.scrollIntoView();
|
||||||
@@ -258,6 +260,7 @@ export class NotebookUtil {
|
|||||||
subSnapshots: SnapshotFragment[],
|
subSnapshots: SnapshotFragment[],
|
||||||
downloadFilename?: string
|
downloadFilename?: string
|
||||||
): Promise<{ imageSrc?: string }> => {
|
): Promise<{ imageSrc?: string }> => {
|
||||||
|
// eslint-disable-next-line no-async-promise-executor
|
||||||
return new Promise(async (resolve, reject) => {
|
return new Promise(async (resolve, reject) => {
|
||||||
// target.scrollIntoView();
|
// target.scrollIntoView();
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -1,20 +1,18 @@
|
|||||||
import * as ko from "knockout";
|
import * as ko from "knockout";
|
||||||
import * as _ from "underscore";
|
import * as _ from "underscore";
|
||||||
|
import QueryTablesTab from "../../Tabs/QueryTablesTab";
|
||||||
import * as Constants from "../Constants";
|
import * as Constants from "../Constants";
|
||||||
import * as ViewModels from "../../../Contracts/ViewModels";
|
import * as Entities from "../Entities";
|
||||||
|
import * as Utilities from "../Utilities";
|
||||||
import * as DataTableBuilder from "./DataTableBuilder";
|
import * as DataTableBuilder from "./DataTableBuilder";
|
||||||
import DataTableOperationManager from "./DataTableOperationManager";
|
import DataTableOperationManager from "./DataTableOperationManager";
|
||||||
import * as DataTableOperations from "./DataTableOperations";
|
import * as DataTableOperations from "./DataTableOperations";
|
||||||
import QueryTablesTab from "../../Tabs/QueryTablesTab";
|
|
||||||
import TableEntityListViewModel from "./TableEntityListViewModel";
|
import TableEntityListViewModel from "./TableEntityListViewModel";
|
||||||
import * as Utilities from "../Utilities";
|
|
||||||
import * as Entities from "../Entities";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom binding manager of datatable
|
* Custom binding manager of datatable
|
||||||
*/
|
*/
|
||||||
var tableEntityListViewModelMap: {
|
const tableEntityListViewModelMap: {
|
||||||
[key: string]: {
|
[key: string]: {
|
||||||
tableViewModel: TableEntityListViewModel;
|
tableViewModel: TableEntityListViewModel;
|
||||||
operationManager: DataTableOperationManager;
|
operationManager: DataTableOperationManager;
|
||||||
@@ -22,12 +20,13 @@ var tableEntityListViewModelMap: {
|
|||||||
};
|
};
|
||||||
} = {};
|
} = {};
|
||||||
|
|
||||||
function bindDataTable(element: any, valueAccessor: any, allBindings: any, viewModel: any, bindingContext: any) {
|
//eslint-disable-next-line
|
||||||
var tableEntityListViewModel = bindingContext.$data;
|
function bindDataTable(element: any, bindingContext: any) {
|
||||||
|
const tableEntityListViewModel = bindingContext.$data;
|
||||||
tableEntityListViewModel.notifyColumnChanges = onTableColumnChange;
|
tableEntityListViewModel.notifyColumnChanges = onTableColumnChange;
|
||||||
var $dataTable = $(element);
|
const $dataTable = $(element);
|
||||||
var queryTablesTab = bindingContext.$parent;
|
const queryTablesTab = bindingContext.$parent;
|
||||||
var operationManager = new DataTableOperationManager(
|
const operationManager = new DataTableOperationManager(
|
||||||
$dataTable,
|
$dataTable,
|
||||||
tableEntityListViewModel,
|
tableEntityListViewModel,
|
||||||
queryTablesTab.tableCommands
|
queryTablesTab.tableCommands
|
||||||
@@ -44,9 +43,9 @@ function bindDataTable(element: any, valueAccessor: any, allBindings: any, viewM
|
|||||||
operationManager.focusTable(); // Also selects the first row if needed.
|
operationManager.focusTable(); // Also selects the first row if needed.
|
||||||
}
|
}
|
||||||
|
|
||||||
function onTableColumnChange(enablePrompt: boolean = true, queryTablesTab: QueryTablesTab) {
|
function onTableColumnChange(queryTablesTab: QueryTablesTab) {
|
||||||
var columnsFilter: boolean[] = null;
|
const columnsFilter: boolean[] = null;
|
||||||
var tableEntityListViewModel = tableEntityListViewModelMap[queryTablesTab.tabId].tableViewModel;
|
const tableEntityListViewModel = tableEntityListViewModelMap[queryTablesTab.tabId].tableViewModel;
|
||||||
if (queryTablesTab.queryViewModel()) {
|
if (queryTablesTab.queryViewModel()) {
|
||||||
queryTablesTab.queryViewModel().queryBuilderViewModel().updateColumnOptions();
|
queryTablesTab.queryViewModel().queryBuilderViewModel().updateColumnOptions();
|
||||||
}
|
}
|
||||||
@@ -63,35 +62,36 @@ function createDataTable(
|
|||||||
startIndex: number,
|
startIndex: number,
|
||||||
tableEntityListViewModel: TableEntityListViewModel,
|
tableEntityListViewModel: TableEntityListViewModel,
|
||||||
queryTablesTab: QueryTablesTab,
|
queryTablesTab: QueryTablesTab,
|
||||||
destroy: boolean = false,
|
destroy = false,
|
||||||
columnsFilter: boolean[] = null
|
columnsFilter: boolean[] = null
|
||||||
): void {
|
): void {
|
||||||
var $dataTable = tableEntityListViewModelMap[queryTablesTab.tabId].$dataTable;
|
const $dataTable = tableEntityListViewModelMap[queryTablesTab.tabId].$dataTable;
|
||||||
if (destroy) {
|
if (destroy) {
|
||||||
// Find currently displayed columns.
|
// Find currently displayed columns.
|
||||||
var currentColumns: string[] = tableEntityListViewModel.headers;
|
const currentColumns: string[] = tableEntityListViewModel.headers;
|
||||||
|
|
||||||
// Calculate how many more columns need to added to the current table.
|
// Calculate how many more columns need to added to the current table.
|
||||||
var columnsToAdd: number = _.difference(tableEntityListViewModel.headers, currentColumns).length;
|
const columnsToAdd: number = _.difference(tableEntityListViewModel.headers, currentColumns).length;
|
||||||
|
|
||||||
// This is needed as current solution of adding column is more like a workaround
|
// This is needed as current solution of adding column is more like a workaround
|
||||||
// The official support for dynamically add column is not yet there
|
// The official support for dynamically add column is not yet there
|
||||||
// Please track github issue https://github.com/DataTables/DataTables/issues/273 for its offical support
|
// Please track github issue https://github.com/DataTables/DataTables/issues/273 for its offical support
|
||||||
for (var i = 0; i < columnsToAdd; i++) {
|
for (let i = 0; i < columnsToAdd; i++) {
|
||||||
$(".dataTables_scrollHead table thead tr th").eq(0).after("<th></th>");
|
$(".dataTables_scrollHead table thead tr th").eq(0).after("<th></th>");
|
||||||
}
|
}
|
||||||
tableEntityListViewModel.table.destroy();
|
tableEntityListViewModel.table.destroy();
|
||||||
$dataTable.empty();
|
$dataTable.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
var jsonColTable = [];
|
const jsonColTable = [];
|
||||||
|
|
||||||
for (var i = 0; i < tableEntityListViewModel.headers.length; i++) {
|
for (let i = 0; i < tableEntityListViewModel.headers.length; i++) {
|
||||||
jsonColTable.push({
|
jsonColTable.push({
|
||||||
sTitle: tableEntityListViewModel.headers[i],
|
sTitle: tableEntityListViewModel.headers[i],
|
||||||
data: tableEntityListViewModel.headers[i],
|
data: tableEntityListViewModel.headers[i],
|
||||||
aTargets: [i],
|
aTargets: [i],
|
||||||
mRender: bindColumn,
|
mRender: bindColumn,
|
||||||
|
// eslint-disable-next-line no-extra-boolean-cast
|
||||||
visible: !!columnsFilter ? columnsFilter[i] : true,
|
visible: !!columnsFilter ? columnsFilter[i] : true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -154,9 +154,10 @@ function createDataTable(
|
|||||||
table.setAttribute("summary", `Results for container ${tableEntityListViewModel.queryTablesTab.collection.id()}`);
|
table.setAttribute("summary", `Results for container ${tableEntityListViewModel.queryTablesTab.collection.id()}`);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//eslint-disable-next-line
|
||||||
function bindColumn(data: any, type: string, full: any) {
|
function bindColumn(data: any) {
|
||||||
var displayedValue: any = null;
|
//eslint-disable-next-line
|
||||||
|
let displayedValue: any = null;
|
||||||
if (data) {
|
if (data) {
|
||||||
displayedValue = data._;
|
displayedValue = data._;
|
||||||
|
|
||||||
@@ -173,7 +174,7 @@ function bindColumn(data: any, type: string, full: any) {
|
|||||||
}
|
}
|
||||||
return displayedValue;
|
return displayedValue;
|
||||||
}
|
}
|
||||||
|
//eslint-disable-next-line
|
||||||
function getServerData(sSource: any, aoData: any, fnCallback: any, oSettings: any) {
|
function getServerData(sSource: any, aoData: any, fnCallback: any, oSettings: any) {
|
||||||
tableEntityListViewModelMap[oSettings.ajax].tableViewModel.renderNextPageAndupdateCache(
|
tableEntityListViewModelMap[oSettings.ajax].tableViewModel.renderNextPageAndupdateCache(
|
||||||
sSource,
|
sSource,
|
||||||
@@ -191,15 +192,15 @@ function bindClientId(nRow: Node, aData: Entities.ITableEntity) {
|
|||||||
$(nRow).attr(Constants.htmlAttributeNames.dataTableRowKeyAttr, aData.RowKey._);
|
$(nRow).attr(Constants.htmlAttributeNames.dataTableRowKeyAttr, aData.RowKey._);
|
||||||
return nRow;
|
return nRow;
|
||||||
}
|
}
|
||||||
|
//eslint-disable-next-line
|
||||||
function selectionChanged(element: any, valueAccessor: any, allBindings: any, viewModel: any, bindingContext: any) {
|
function selectionChanged(bindingContext: any) {
|
||||||
$(".dataTable tr.selected").attr("tabindex", "-1").removeClass("selected");
|
$(".dataTable tr.selected").attr("tabindex", "-1").removeClass("selected");
|
||||||
|
|
||||||
const selected =
|
const selected =
|
||||||
bindingContext && bindingContext.$data && bindingContext.$data.selected && bindingContext.$data.selected();
|
bindingContext && bindingContext.$data && bindingContext.$data.selected && bindingContext.$data.selected();
|
||||||
selected &&
|
selected &&
|
||||||
selected.forEach((b: Entities.ITableEntity) => {
|
selected.forEach((b: Entities.ITableEntity) => {
|
||||||
var sel = DataTableOperations.getRowSelector([
|
const sel = DataTableOperations.getRowSelector([
|
||||||
{
|
{
|
||||||
key: Constants.htmlAttributeNames.dataTableRowKeyAttr,
|
key: Constants.htmlAttributeNames.dataTableRowKeyAttr,
|
||||||
value: b.RowKey && b.RowKey._ && b.RowKey._.toString(),
|
value: b.RowKey && b.RowKey._ && b.RowKey._.toString(),
|
||||||
@@ -211,7 +212,7 @@ function selectionChanged(element: any, valueAccessor: any, allBindings: any, vi
|
|||||||
//selected = bindingContext.$data.selected();
|
//selected = bindingContext.$data.selected();
|
||||||
}
|
}
|
||||||
|
|
||||||
function dataChanged(element: any, valueAccessor: any, allBindings: any, viewModel: any, bindingContext: any) {
|
function dataChanged() {
|
||||||
// do nothing for now
|
// do nothing for now
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -229,20 +230,21 @@ function updateTableScrollableRegionMetrics(): void {
|
|||||||
* Update the table's scrollable region height. So the pagination control is always shown at the bottom of the page.
|
* Update the table's scrollable region height. So the pagination control is always shown at the bottom of the page.
|
||||||
*/
|
*/
|
||||||
function updateTableScrollableRegionHeight(): void {
|
function updateTableScrollableRegionHeight(): void {
|
||||||
$(".tab-pane").each(function (index, tabElement) {
|
$(".tab-pane").each((index, tabElement) => {
|
||||||
if (!$(tabElement).hasClass("tableContainer")) {
|
if (!$(tabElement).hasClass("tableContainer")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add some padding to the table so it doesn't get too close to the container border.
|
// Add some padding to the table so it doesn't get too close to the container border.
|
||||||
var dataTablePaddingBottom = 10;
|
const dataTablePaddingBottom = 10;
|
||||||
var bodyHeight = $(window).height();
|
const bodyHeight = $(window).height();
|
||||||
var dataTablesScrollBodyPosY = $(tabElement).find(Constants.htmlSelectors.dataTableScrollBodySelector).offset().top;
|
const dataTablesScrollBodyPosY = $(tabElement).find(Constants.htmlSelectors.dataTableScrollBodySelector).offset()
|
||||||
var dataTablesInfoElem = $(tabElement).find(".dataTables_info");
|
.top;
|
||||||
var dataTablesPaginateElem = $(tabElement).find(".dataTables_paginate");
|
const dataTablesInfoElem = $(tabElement).find(".dataTables_info");
|
||||||
|
const dataTablesPaginateElem = $(tabElement).find(".dataTables_paginate");
|
||||||
const notificationConsoleHeight = 32; /** Header height **/
|
const notificationConsoleHeight = 32; /** Header height **/
|
||||||
|
|
||||||
var scrollHeight =
|
let scrollHeight =
|
||||||
bodyHeight -
|
bodyHeight -
|
||||||
dataTablesScrollBodyPosY -
|
dataTablesScrollBodyPosY -
|
||||||
dataTablesPaginateElem.outerHeight(true) -
|
dataTablesPaginateElem.outerHeight(true) -
|
||||||
@@ -257,10 +259,10 @@ function updateTableScrollableRegionHeight(): void {
|
|||||||
// TODO This is a work around for setting the outerheight since we don't have access to the JQuery.outerheight(numberValue)
|
// TODO This is a work around for setting the outerheight since we don't have access to the JQuery.outerheight(numberValue)
|
||||||
// in the current version of JQuery we are using. Ideally, we would upgrade JQuery and use this line instead:
|
// in the current version of JQuery we are using. Ideally, we would upgrade JQuery and use this line instead:
|
||||||
// $(Constants.htmlSelectors.dataTableScrollBodySelector).outerHeight(scrollHeight);
|
// $(Constants.htmlSelectors.dataTableScrollBodySelector).outerHeight(scrollHeight);
|
||||||
var element = $(tabElement).find(Constants.htmlSelectors.dataTableScrollBodySelector)[0];
|
const element = $(tabElement).find(Constants.htmlSelectors.dataTableScrollBodySelector)[0];
|
||||||
var style = getComputedStyle(element);
|
const style = getComputedStyle(element);
|
||||||
var actualHeight = parseInt(style.height);
|
const actualHeight = parseInt(style.height);
|
||||||
var change = element.offsetHeight - scrollHeight;
|
const change = element.offsetHeight - scrollHeight;
|
||||||
$(tabElement)
|
$(tabElement)
|
||||||
.find(Constants.htmlSelectors.dataTableScrollBodySelector)
|
.find(Constants.htmlSelectors.dataTableScrollBodySelector)
|
||||||
.height(actualHeight - change);
|
.height(actualHeight - change);
|
||||||
@@ -271,15 +273,15 @@ function updateTableScrollableRegionHeight(): void {
|
|||||||
* Update the table's scrollable region width to make efficient use of the remaining space.
|
* Update the table's scrollable region width to make efficient use of the remaining space.
|
||||||
*/
|
*/
|
||||||
function updateTableScrollableRegionWidth(): void {
|
function updateTableScrollableRegionWidth(): void {
|
||||||
$(".tab-pane").each(function (index, tabElement) {
|
$(".tab-pane").each((index, tabElement) => {
|
||||||
if (!$(tabElement).hasClass("tableContainer")) {
|
if (!$(tabElement).hasClass("tableContainer")) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var bodyWidth = $(window).width();
|
const bodyWidth = $(window).width();
|
||||||
var dataTablesScrollBodyPosLeft = $(tabElement).find(Constants.htmlSelectors.dataTableScrollBodySelector).offset()
|
const dataTablesScrollBodyPosLeft = $(tabElement).find(Constants.htmlSelectors.dataTableScrollBodySelector).offset()
|
||||||
.left;
|
.left;
|
||||||
var scrollWidth = bodyWidth - dataTablesScrollBodyPosLeft;
|
const scrollWidth = bodyWidth - dataTablesScrollBodyPosLeft;
|
||||||
|
|
||||||
// jquery datatables automatically sets width:100% to both the header and the body when we use it's column autoWidth feature.
|
// jquery datatables automatically sets width:100% to both the header and the body when we use it's column autoWidth feature.
|
||||||
// We work around that by setting the height for it's container instead.
|
// We work around that by setting the height for it's container instead.
|
||||||
@@ -288,9 +290,9 @@ function updateTableScrollableRegionWidth(): void {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function initializeEventHandlers(): void {
|
function initializeEventHandlers(): void {
|
||||||
var $headers: JQuery = $(Constants.htmlSelectors.dataTableHeaderTypeSelector);
|
const $headers: JQuery = $(Constants.htmlSelectors.dataTableHeaderTypeSelector);
|
||||||
var $firstHeader: JQuery = $headers.first();
|
const $firstHeader: JQuery = $headers.first();
|
||||||
var firstIndex: string = $firstHeader.attr(Constants.htmlAttributeNames.dataTableHeaderIndex);
|
const firstIndex: string = $firstHeader.attr(Constants.htmlAttributeNames.dataTableHeaderIndex);
|
||||||
|
|
||||||
$headers
|
$headers
|
||||||
.on("keydown", (event: JQueryEventObject) => {
|
.on("keydown", (event: JQueryEventObject) => {
|
||||||
@@ -302,7 +304,7 @@ function initializeEventHandlers(): void {
|
|||||||
Utilities.onTab(
|
Utilities.onTab(
|
||||||
event,
|
event,
|
||||||
($sourceElement: JQuery) => {
|
($sourceElement: JQuery) => {
|
||||||
var sourceIndex: string = $sourceElement.attr(Constants.htmlAttributeNames.dataTableHeaderIndex);
|
const sourceIndex: string = $sourceElement.attr(Constants.htmlAttributeNames.dataTableHeaderIndex);
|
||||||
|
|
||||||
if (sourceIndex === firstIndex) {
|
if (sourceIndex === firstIndex) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
@@ -324,14 +326,14 @@ function initializeEventHandlers(): void {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//eslint-disable-next-line
|
||||||
function updateSelectionStatus(oSettings: any): void {
|
function updateSelectionStatus(oSettings: any): void {
|
||||||
var $dataTableRows: JQuery = $(Constants.htmlSelectors.dataTableAllRowsSelector);
|
const $dataTableRows: JQuery = $(Constants.htmlSelectors.dataTableAllRowsSelector);
|
||||||
if ($dataTableRows) {
|
if ($dataTableRows) {
|
||||||
for (var i = 0; i < $dataTableRows.length; i++) {
|
for (let i = 0; i < $dataTableRows.length; i++) {
|
||||||
var $row: JQuery = $dataTableRows.eq(i);
|
const $row: JQuery = $dataTableRows.eq(i);
|
||||||
var rowKey: string = $row.attr(Constants.htmlAttributeNames.dataTableRowKeyAttr);
|
const rowKey: string = $row.attr(Constants.htmlAttributeNames.dataTableRowKeyAttr);
|
||||||
var table = tableEntityListViewModelMap[oSettings.ajax].tableViewModel;
|
const table = tableEntityListViewModelMap[oSettings.ajax].tableViewModel;
|
||||||
if (table.isItemSelected(table.getTableEntityKeys(rowKey))) {
|
if (table.isItemSelected(table.getTableEntityKeys(rowKey))) {
|
||||||
$row.attr("tabindex", "0");
|
$row.attr("tabindex", "0");
|
||||||
}
|
}
|
||||||
@@ -346,10 +348,10 @@ function updateSelectionStatus(oSettings: any): void {
|
|||||||
// TODO consider centralizing this "post-command" logic into some sort of Command Manager entity.
|
// TODO consider centralizing this "post-command" logic into some sort of Command Manager entity.
|
||||||
// See VSO:166520: "[Storage Explorer] Consider adding a 'command manager' to track command post-effects."
|
// See VSO:166520: "[Storage Explorer] Consider adding a 'command manager' to track command post-effects."
|
||||||
function updateDataTableFocus(queryTablesTabId: string): void {
|
function updateDataTableFocus(queryTablesTabId: string): void {
|
||||||
var $activeElement: JQuery = $(document.activeElement);
|
const $activeElement: JQuery = $(document.activeElement);
|
||||||
var isFocusLost: boolean = $activeElement.is("body"); // When focus is lost, "body" becomes the active element.
|
const isFocusLost: boolean = $activeElement.is("body"); // When focus is lost, "body" becomes the active element.
|
||||||
var storageExplorerFrameHasFocus: boolean = document.hasFocus();
|
const storageExplorerFrameHasFocus: boolean = document.hasFocus();
|
||||||
var operationManager = tableEntityListViewModelMap[queryTablesTabId].operationManager;
|
const operationManager = tableEntityListViewModelMap[queryTablesTabId].operationManager;
|
||||||
if (operationManager) {
|
if (operationManager) {
|
||||||
if (isFocusLost && storageExplorerFrameHasFocus) {
|
if (isFocusLost && storageExplorerFrameHasFocus) {
|
||||||
// We get here when no control is active, meaning that the table update was triggered
|
// We get here when no control is active, meaning that the table update was triggered
|
||||||
@@ -371,19 +373,20 @@ function updateDataTableFocus(queryTablesTabId: string): void {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//eslint-disable-next-line
|
||||||
(<any>ko.bindingHandlers).tableSource = {
|
(<any>ko.bindingHandlers).tableSource = {
|
||||||
init: bindDataTable,
|
init: bindDataTable,
|
||||||
update: dataChanged,
|
update: dataChanged,
|
||||||
};
|
};
|
||||||
|
//eslint-disable-next-line
|
||||||
(<any>ko.bindingHandlers).tableSelection = {
|
(<any>ko.bindingHandlers).tableSelection = {
|
||||||
update: selectionChanged,
|
update: selectionChanged,
|
||||||
};
|
};
|
||||||
|
//eslint-disable-next-line
|
||||||
(<any>ko.bindingHandlers).readOnly = {
|
(<any>ko.bindingHandlers).readOnly = {
|
||||||
update: function (element: any, valueAccessor: any) {
|
//eslint-disable-next-line
|
||||||
var value = ko.utils.unwrapObservable(valueAccessor());
|
update: (element: any, valueAccessor: any) => {
|
||||||
|
const value = ko.utils.unwrapObservable(valueAccessor());
|
||||||
if (value) {
|
if (value) {
|
||||||
element.setAttribute("readOnly", true);
|
element.setAttribute("readOnly", true);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import * as Utilities from "../Utilities";
|
|||||||
* @param{$dataTableElem} JQuery data table element
|
* @param{$dataTableElem} JQuery data table element
|
||||||
* @param{$settings} Settings to use when creating the data table
|
* @param{$settings} Settings to use when creating the data table
|
||||||
*/
|
*/
|
||||||
export function createDataTable($dataTableElem: JQuery, settings: any): DataTables.DataTable {
|
export function createDataTable($dataTableElem: JQuery, settings: DataTables.Settings): DataTables.DataTable {
|
||||||
return $dataTableElem.DataTable(applyDefaultRendering(settings));
|
return $dataTableElem.DataTable(applyDefaultRendering(settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,8 +18,9 @@ export function createDataTable($dataTableElem: JQuery, settings: any): DataTabl
|
|||||||
* @param{settings} The settings to check
|
* @param{settings} The settings to check
|
||||||
* @return The given settings with all columns having a rendering function
|
* @return The given settings with all columns having a rendering function
|
||||||
*/
|
*/
|
||||||
|
//eslint-disable-next-line
|
||||||
function applyDefaultRendering(settings: any): DataTables.SettingsLegacy {
|
function applyDefaultRendering(settings: any): DataTables.SettingsLegacy {
|
||||||
var tableColumns: DataTables.ColumnLegacy[] = null;
|
let tableColumns: DataTables.ColumnLegacy[] = null;
|
||||||
|
|
||||||
if (settings.aoColumns) {
|
if (settings.aoColumns) {
|
||||||
tableColumns = settings.aoColumns;
|
tableColumns = settings.aoColumns;
|
||||||
@@ -34,7 +35,7 @@ function applyDefaultRendering(settings: any): DataTables.SettingsLegacy {
|
|||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var i = 0; i < tableColumns.length; i++) {
|
for (let i = 0; i < tableColumns.length; i++) {
|
||||||
// the column does not have a render function
|
// the column does not have a render function
|
||||||
if (!tableColumns[i].mRender) {
|
if (!tableColumns[i].mRender) {
|
||||||
tableColumns[i].mRender = defaultDataRender;
|
tableColumns[i].mRender = defaultDataRender;
|
||||||
@@ -47,6 +48,7 @@ function applyDefaultRendering(settings: any): DataTables.SettingsLegacy {
|
|||||||
* Default data render function, whatever is done to data in here
|
* Default data render function, whatever is done to data in here
|
||||||
* will be done to any data which we do not specify a render for.
|
* will be done to any data which we do not specify a render for.
|
||||||
*/
|
*/
|
||||||
function defaultDataRender(data: any, type: string, full: any) {
|
//eslint-disable-next-line
|
||||||
|
function defaultDataRender(data: any) {
|
||||||
return Utilities.htmlEncode(data);
|
return Utilities.htmlEncode(data);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user