This is an automated email from the ASF dual-hosted git repository. akuznetsov pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push: new 0d93a0b IGNITE-8368 Web Console: Refactored queries notebooks list. 0d93a0b is described below commit 0d93a0b84a135e1853cb7972fafbcca65d12fe82 Author: Alexander Kalinin <verba...@yandex.ru> AuthorDate: Fri Apr 5 12:40:23 2019 +0700 IGNITE-8368 Web Console: Refactored queries notebooks list. --- .../queries-notebooks-list/controller.js | 43 ++++------------------ .../queries-notebooks-list/template.tpl.pug | 9 ++++- 2 files changed, 16 insertions(+), 36 deletions(-) diff --git a/modules/web-console/frontend/app/components/page-queries/components/queries-notebooks-list/controller.js b/modules/web-console/frontend/app/components/page-queries/components/queries-notebooks-list/controller.js index 379f974..a10dd1f 100644 --- a/modules/web-console/frontend/app/components/page-queries/components/queries-notebooks-list/controller.js +++ b/modules/web-console/frontend/app/components/page-queries/components/queries-notebooks-list/controller.js @@ -15,8 +15,6 @@ * limitations under the License. */ -import headerTemplate from '../../../../../app/primitives/ui-grid-header/index.tpl.pug'; - export class NotebooksListCtrl { static $inject = ['IgniteNotebook', 'IgniteMessages', 'IgniteLoading', 'IgniteInput', '$scope', '$modal']; @@ -31,45 +29,18 @@ export class NotebooksListCtrl { const sqlQueryTemplate = `<div class="ui-grid-cell-contents">{{row.entity.sqlQueriesParagraphsLength}}</div>`; const scanQueryTemplate = `<div class="ui-grid-cell-contents">{{row.entity.scanQueriesPsaragraphsLength}}</div>`; - const categories = [ + this.categories = [ { name: 'Name', visible: true, enableHiding: false }, { name: 'SQL Queries', visible: true, enableHiding: false }, { name: 'Scan Queries', visible: true, enableHiding: false } ]; - const columnDefs = [ - { name: 'name', displayName: 'Notebook name', categoryDisplayName: 'Name', field: 'name', cellTemplate: notebookNameTemplate, pinnedLeft: true, filter: { placeholder: 'Filter by Name...' } }, + this.columnDefs = [ + { name: 'name', displayName: 'Notebook name', categoryDisplayName: 'Name', field: 'name', cellTemplate: notebookNameTemplate, filter: { placeholder: 'Filter by Name...' } }, { name: 'sqlQueryNum', displayName: 'SQL Queries', categoryDisplayName: 'SQL Queries', field: 'sqlQueriesParagraphsLength', cellTemplate: sqlQueryTemplate, enableSorting: true, type: 'number', minWidth: 150, width: '10%', enableFiltering: false }, { name: 'scanQueryNum', displayName: 'Scan Queries', categoryDisplayName: 'Scan Queries', field: 'scanQueriesParagraphsLength', cellTemplate: scanQueryTemplate, enableSorting: true, type: 'number', minWidth: 150, width: '10%', enableFiltering: false } ]; - this.gridOptions = { - data: [], - - categories, - columnDefs, - headerTemplate, - - rowHeight: 46, - selectWithCheckboxOnly: true, - suppressRemoveSort: false, - enableFiltering: true, - enableSelectAll: true, - enableRowSelection: true, - enableFullRowSelection: true, - enableColumnMenus: false, - noUnselect: false, - fastWatch: true, - onRegisterApi: (api) => { - this.gridApi = api; - - api.selection.on.rowSelectionChanged($scope, this._onSelectionChanged.bind(this)); - api.selection.on.rowSelectionChangedBatch($scope, this._onSelectionChanged.bind(this)); - - this.$scope.$watch(() => this.gridApi.grid.getVisibleRows().length, (rows) => this._adjustHeight(rows)); - } - }; - this.actionOptions = [ { action: 'Clone', @@ -96,8 +67,10 @@ export class NotebooksListCtrl { async _loadAllNotebooks() { try { this.IgniteLoading.start('notebooksLoading'); - this.notebooks = await this.IgniteNotebook.read(); - this.gridOptions.data = this._preprocessNotebooksList(this.notebooks); + + const data = await this.IgniteNotebook.read(); + + this.notebooks = this._preprocessNotebooksList(data); } catch (err) { this.IgniteMessages.showError(err); @@ -122,7 +95,7 @@ export class NotebooksListCtrl { return notebook.paragraphs.filter((paragraph) => paragraph.qryType === queryType).length || 0; } - _onSelectionChanged() { + onSelectionChanged() { this._checkActionsAllow(); } diff --git a/modules/web-console/frontend/app/components/page-queries/components/queries-notebooks-list/template.tpl.pug b/modules/web-console/frontend/app/components/page-queries/components/queries-notebooks-list/template.tpl.pug index bbf6df7..a637556 100644 --- a/modules/web-console/frontend/app/components/page-queries/components/queries-notebooks-list/template.tpl.pug +++ b/modules/web-console/frontend/app/components/page-queries/components/queries-notebooks-list/template.tpl.pug @@ -41,7 +41,14 @@ page-queries-slot(slot-name="'queriesButtons'" ng-if="!$root.IgniteDemoMode") }) .panel-collapse(ignite-loading='notebooksLoading' ignite-loading-text='Loading notebooks...') - .grid.ui-grid--ignite#queriesNotebooksList(ui-grid='$ctrl.gridOptions' ui-grid-resize-columns ui-grid-selection ui-grid-hovering) + ignite-grid-table( + items='$ctrl.notebooks' + column-defs='$ctrl.columnDefs' + grid-api='$ctrl.gridApi' + grid-thin='true' + on-selection-change='$ctrl.onSelectionChanged()' + ) + grid-no-data(grid-api='$ctrl.gridApi') | You have no notebooks. a.link-success(ng-click='$ctrl.createNotebook()') Create one?