blob: e0c1083b8e6da3e968f5989cb459f54ebd09bb44 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import templateUrl from './template.tpl.pug';
export default {
templateUrl,
transclude: {
queriesButtons: '?queriesButtons',
queriesContent: '?queriesContent',
queriesTitle: '?queriesTitle'
},
controller: class Ctrl {
static $inject = ['$element', '$rootScope', '$state', 'IgniteNotebook'];
/**
* @param {JQLite} $element
* @param {ng.IRootScopeService} $rootScope
* @param {import('@uirouter/angularjs').StateService} $state
* @param {import('./notebook.service').default} IgniteNotebook
*/
constructor($element, $rootScope, $state, IgniteNotebook) {
this.$element = $element;
this.$rootScope = $rootScope;
this.$state = $state;
this.IgniteNotebook = IgniteNotebook;
}
$onInit() {
this.loadNotebooks();
}
async loadNotebooks() {
const fetchNotebooksPromise = this.IgniteNotebook.read();
this.notebooks = await fetchNotebooksPromise || [];
}
$postLink() {
this.queriesTitle = this.$element.find('.queries-title');
this.queriesButtons = this.$element.find('.queries-buttons');
this.queriesContent = this.$element.find('.queries-content');
}
}
};