| // |
| 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. |
| |
| nav.navbar.navbar-default.navbar-fixed-top.navbar-main |
| #fold-button.btn.btn-default.navbar-btn.pull-left(ng-click='showSidebar()') |
| i.fa.fa-navicon |
| |
| .navbar-title |
| | Submit new Job |
| |
| #content-inner(ng-if="noaccess") |
| pre |
| | {{noaccess}} |
| #content-inner(ng-if="!noaccess && yarn") |
| pre(ng-if="!address") |
| | Yarn's AM proxy doesn't allow file uploads. Please wait while we fetch an alternate url for you to use |
| pre(ng-if="address") |
| | Yarn's AM proxy doesn't allow file uploads. You can visit |
| a(href="http://{{address}}/#/submit") |
| | here |
| | to access this functionality. |
| |
| #content-inner(ng-if="!noaccess && jars && !yarn") |
| .panel.panel-default |
| .panel-heading |
| h3.panel-title |
| | Uploaded Jars |
| |
| .panel-body |
| table.table |
| thead |
| tr |
| th |
| th Name |
| th Upload Time |
| th Entry Class |
| th |
| |
| tbody |
| tr(ng-repeat="jar in jars track by jar.id") |
| td |
| span.icon-wrapper |
| i.show-pointer.fa(ng-click="selectJar(jar.id)" ng-class="state.selected | getJarSelectClass:jar.id") |
| td {{jar.name}} |
| td {{jar.uploaded | amDateFormat:'YYYY-MM-DD, H:mm:ss'}} |
| td |
| div(ng-repeat="entries in jar.entry") |
| span.btn.btn-default.row-button(title="{{entries.description}}" ng-click="loadEntryClass(entries.name)") |
| | {{entries.name}} |
| td |
| span.icon-wrapper |
| i.show-pointer.fa.fa-remove(title="Delete" ng-click="deleteJar($event, jar.id)") |
| |
| table.table.table-no-border#job-submit-table(ng-if="state.selected") |
| tbody |
| tr |
| td.td-large |
| input.form-control(type="text" placeholder="Entry Class" title="Entry Class" ng-model="state['entry-class']") |
| td |
| input.form-control(type="text" placeholder="Parallelism" title="Parallelism" ng-model="state.parallelism") |
| td |
| span.btn.btn-default#fetch-plan(ng-click="getPlan()") |
| | {{state['plan-button']}} |
| | |
| i.fa.fa-spin.fa-spinner(ng-if="state['plan-button'] == 'Getting Plan'") |
| tr |
| td.td-large(colspan="2") |
| input.form-control(type="text" placeholder="Program Arguments" title="Program Arguments" ng-model="state['program-args']") |
| td |
| span.btn.btn-success.btn-sm#job-submit(ng-click="runJob()") |
| | {{state['submit-button']}} |
| | |
| i.fa.fa-spin.fa-spinner(ng-if="state['submit-button'] == 'Submitting'") |
| |
| table.table.table-no-border(ng-if="jid") |
| tbody |
| tr |
| td.text-center |
| | Job was successfully submitted. To monitor, |
| a(href="{{'#/jobs/' + jid}}") |
| | click here. |
| |
| table.table.table-no-border(ng-if="error") |
| tbody |
| tr |
| td |
| pre |
| | {{error}} |
| |
| .canvas-wrapper(ng-if="plan") |
| div.main-canvas(job-plan, plan="plan", jobid="{{plan.jid}}", set-node="changeNode(nodeid)") |
| |
| table.table.table-no-border#add-file-table(ng-if="!state.selected") |
| tbody |
| tr |
| td#add-file-button |
| span.btn.btn-default.btn-file(ng-click="clearFiles()") |
| | Add New |
| i.fa.fa-plus |
| input(type="file" onchange="angular.element(this).scope().uploadFiles(this.files)") |
| td#add-file-name(ng-if="uploader.file" title="{{uploader.file.name}}") |
| | {{uploader.file.name}} |
| td#add-file-status(ng-if="uploader.file") |
| span.error-area(ng-if="uploader.error") |
| i |
| | {{uploader.error}} |
| span.btn.btn-success(ng-click="startUpload()" ng-if="uploader.upload") |
| | Upload |
| span(ng-if="uploader.success") |
| | {{uploader.success}} |
| span.btn.btn-progress-bar(ng-if="uploader.progress") |
| span.btn.btn-success.btn-progress(ng-style="{width: uploader.progress + '%'}") |
| | {{uploader.progress}}% |