# Licensed 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 os from horizon.utils.file_discovery import discover_files import heat_dashboard # The slug of the panel to be added to HORIZON_CONFIG. Required. PANEL = 'template_generator' # The slug of the dashboard the PANEL associated with. Required. PANEL_DASHBOARD = 'project' # The slug of the panel group the PANEL is associated with. PANEL_GROUP = 'orchestration' # Python panel class of the PANEL to be added. ADD_PANEL = 'heat_dashboard.content.template_generator.panel.TemplateGenerator' # Automatically discover static resources in installed apps ADD_ANGULAR_MODULES = \ ['horizon.dashboard.project.heat_dashboard.template_generator'] AUTO_DISCOVER_STATIC_FILES = True TEMPLATE_GENERATOR_BASE = 'dashboard/project/heat_dashboard/template_generator' CSS_BASE = '%s/css' % TEMPLATE_GENERATOR_BASE JS_BASE = '%s/js' % TEMPLATE_GENERATOR_BASE ADD_XSTATIC_MODULES = [ ('xstatic.pkg.angular', [ 'angular-animate.js', 'angular-aria.js', 'angular-messages.js', ]), ('xstatic.pkg.angular_bootstrap', ['angular-bootstrap.js']), # ('xstatic.pkg.angular_material', ['angular-material.js']), ('xstatic.pkg.angular_uuid', ['angular-uuid.js']), ('xstatic.pkg.angular_vis', ['angular-vis.js']), ('xstatic.pkg.filesaver', ['FileSaver.js']), ('xstatic.pkg.js_yaml', ['js-yaml.js']), ('xstatic.pkg.json2yaml', ['json2yaml.js']), ] ADD_SCSS_FILES = [ 'horizon/lib/bootstrap_scss/scss/_bootstrap.scss', 'horizon/lib/font_awesome/scss/font-awesome.scss', '%s/hotgen-main.scss' % CSS_BASE ] HEAT_DASHBOARD_ROOT = heat_dashboard.__path__[0] ADD_JS_FILES = discover_files(os.path.join(HEAT_DASHBOARD_ROOT, 'static'), sub_path='%s/libs' % JS_BASE, ext='.js', trim_base_path=True) ADD_JS_FILES.extend([ '%s/components/template-generator.module.js' % JS_BASE, '%s/components/utils.module.js' % JS_BASE, '%s/components/agent.module.js' % JS_BASE, ]) ADD_JS_FILES.extend( [js_file for js_file in discover_files( os.path.join(HEAT_DASHBOARD_ROOT, 'static'), sub_path='%s/components' % JS_BASE, ext='.js', trim_base_path=True) if js_file not in ADD_JS_FILES and not js_file.endswith('spec.js') ]) ADD_JS_FILES.extend( [js_file for js_file in discover_files( os.path.join(HEAT_DASHBOARD_ROOT, 'static'), sub_path='%s/resources' % JS_BASE, ext='.js', trim_base_path=True) if not js_file.endswith('spec.js') ]) ADD_JS_SPEC_FILES = [ js_file for js_file in discover_files( os.path.join(HEAT_DASHBOARD_ROOT, 'static'), sub_path='%s/components' % JS_BASE, ext='.js', trim_base_path=True) if js_file.endswith('spec.js')] ADD_JS_SPEC_FILES.extend( [js_file for js_file in discover_files( os.path.join(HEAT_DASHBOARD_ROOT, 'static'), sub_path='%s/resources' % JS_BASE, ext='.js', trim_base_path=True) if js_file.endswith('spec.js') ])