You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2015/01/30 10:26:17 UTC
ambari git commit: AMBARI-9399. Views: Pig,
arguments are not stored when you save the script,
error handling fixes. (alexantonenko)
Repository: ambari
Updated Branches:
refs/heads/trunk 72dcffc31 -> 876b1969c
AMBARI-9399. Views: Pig, arguments are not stored when you save the script, error handling fixes. (alexantonenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/876b1969
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/876b1969
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/876b1969
Branch: refs/heads/trunk
Commit: 876b1969c126e49f37e0163490bd5f6def3c3fe4
Parents: 72dcffc
Author: Alex Antonenko <hi...@gmail.com>
Authored: Thu Jan 29 16:21:55 2015 +0200
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Fri Jan 30 11:24:30 2015 +0200
----------------------------------------------------------------------
.../ui/pig-web/app/components/scriptListRow.js | 3 ++
.../resources/ui/pig-web/app/controllers/pig.js | 31 +++++++---------
.../ui/pig-web/app/controllers/script.js | 14 ++++---
.../ui/pig-web/app/controllers/scriptEdit.js | 20 ++++------
.../main/resources/ui/pig-web/app/initialize.js | 1 +
.../ui/pig-web/app/mixins/routeError.js | 30 +++++++++++++++
.../resources/ui/pig-web/app/models/pig_job.js | 29 ++-------------
.../ui/pig-web/app/models/pig_script.js | 10 ++---
.../main/resources/ui/pig-web/app/routes/pig.js | 28 ++++++++++----
.../ui/pig-web/app/routes/pigHistory.js | 10 +----
.../ui/pig-web/app/routes/pigScripts.js | 5 ++-
.../resources/ui/pig-web/app/routes/pigUdfs.js | 3 +-
.../resources/ui/pig-web/app/routes/script.js | 13 +++++++
.../ui/pig-web/app/routes/scriptEdit.js | 14 +------
.../ui/pig-web/app/routes/scriptJob.js | 2 +-
.../app/templates/components/scriptListRow.hbs | 29 ++++++++++-----
.../ui/pig-web/app/templates/pig/scripts.hbs | 39 +-------------------
.../ui/pig-web/app/templates/script/job.hbs | 4 +-
.../resources/ui/pig-web/app/translations.js | 4 ++
.../resources/ui/pig-web/app/views/pig/alert.js | 20 ++++------
20 files changed, 147 insertions(+), 162 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/components/scriptListRow.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/components/scriptListRow.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/components/scriptListRow.js
index 2f5d9e6..3dc67ca 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/components/scriptListRow.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/components/scriptListRow.js
@@ -19,6 +19,9 @@
var App = require('app');
App.ScriptListRowComponent = Em.Component.extend({
+ layoutName:'components/scriptListRow',
+ jobs:[],
+ script:null,
tagName:'tr',
scriptJobs:function () {
var scriptId = this.get('script.id');
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pig.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pig.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pig.js
index 8cde338..1741a07 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pig.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pig.js
@@ -60,24 +60,19 @@ App.PigController = Em.ArrayController.extend({
return script.save().then(onSuccess,onFail);
},
copyScript:function (script) {
- script.get('pigScript').then(function (file) {
-
- var newScript = this.store.createRecord('script',{
- title:script.get('title')+' (copy)',
- templetonArguments:script.get('templetonArguments')
- });
-
- newScript.save().then(function (savedScript) {
- savedScript.get('pigScript').then(function (newFile) {
- newFile.set('fileContent',file.get('fileContent'));
- newFile.save().then(function () {
- this.send('showAlert', {'message':script.get('title') + ' is copied.',status:'success'});
- if (this.get('activeScript')) {
- this.send('openModal','gotoCopy',savedScript);
- }
- }.bind(this));
- }.bind(this));
- }.bind(this));
+ var newScript = this.store.createRecord('script',{
+ title:script.get('title')+' (copy)',
+ templetonArguments:script.get('templetonArguments')
+ });
+ newScript.save().then(function (savedScript) {
+ return Em.RSVP.all([savedScript.get('pigScript'),script.get('pigScript.fileContent')]);
+ }).then(function (data) {
+ return data.objectAt(0).set('fileContent',data.objectAt(1)).save();
+ }).then(function () {
+ this.send('showAlert', {'message':script.get('title') + ' is copied.',status:'success'});
+ if (this.get('activeScript')) {
+ this.send('openModal','gotoCopy',newScript);
+ }
}.bind(this));
}
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/script.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/script.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/script.js
index 6b0707f..d2a4891 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/script.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/script.js
@@ -54,13 +54,15 @@ App.ScriptController = Em.ObjectController.extend({
activeJobs:Em.A(),
activeJobsIds:Em.computed.mapBy('activeJobs','id'),
+ activeScriptId:Em.computed.alias('controllers.pig.activeScript.id'),
staticTabs:function () {
return [
- {label:'Script',name:'script',url:'script.edit',target:this.get('controllers.pig.activeScript.id')},
- {label:'History',name:'history',url:'script.history',target:this.get('controllers.pig.activeScript.id')}
+ {label:'Script',name:'script',url:'script.edit',target:this.get('activeScriptId')},
+ {label:'History',name:'history',url:'script.history',target:this.get('activeScriptId')}
];
- }.property('controllers.pig.activeScript.id'),
+ }.property('activeScriptId'),
+
jobTabs:function () {
var jobTabs = [];
@@ -90,7 +92,7 @@ App.ScriptController = Em.ObjectController.extend({
},
onPoll: function() {
this.get('jobs').forEach(function (job) {
- if (job.get('needsPing')) {
+ if (job.get('jobInProgress')) {
job.reload();
} else {
this.jobs.removeObject(job);
@@ -115,8 +117,8 @@ App.ScriptController = Em.ObjectController.extend({
}.observes('activeJobs.@each'),
activeJobsWatcher:function () {
- if (this.get('activeJobs.firstObject.scriptId') != this.get('controllers.pig.activeScript.id')) {
+ if (this.get('activeJobs.firstObject.scriptId') != this.get('controllers.pig.activeScriptId')) {
this.set('activeJobs',[]);
}
- }.observes('controllers.pig.activeScript.id')
+ }.observes('controllers.pig.activeScriptId')
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/scriptEdit.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/scriptEdit.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/scriptEdit.js
index 5ef95ad..e59f093 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/scriptEdit.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/scriptEdit.js
@@ -35,7 +35,7 @@ App.ScriptEditController = Em.ObjectController.extend({
}.observes('content.title','isRenaming'),
pigParamsMatch:function (controller) {
- editorContent = this.get('content.pigScript.fileContent');
+ var editorContent = this.get('content.pigScript.fileContent');
if (editorContent) {
var match_var = editorContent.match(/\%\w+\%/g);
if (match_var) {
@@ -64,14 +64,11 @@ App.ScriptEditController = Em.ObjectController.extend({
var changedAttributes = this.get('content').changedAttributes();
if (opt === 'ask') {
- this.set('oldTitle',this.get('content.title'));
- this.set('isRenaming',true);
+ this.setProperties({'oldTitle':this.get('content.title'),'isRenaming':true});
}
if (opt === 'cancel') {
- this.set('content.title',this.get('oldTitle'));
- this.set('oldTitle','');
- this.set('isRenaming',false);
+ this.setProperties({'content.title':this.get('oldTitle'),'isRenaming':false,'oldTitle':''});
}
if (opt === this.get('content.title') && !Em.isBlank(this.get('content.title'))) {
@@ -80,8 +77,7 @@ App.ScriptEditController = Em.ObjectController.extend({
this.send('showAlert', {message:Em.I18n.t('editor.title_updated'),status:'success'});
}.bind(this));
}
- this.set('oldTitle','');
- this.set('isRenaming',false);
+ this.setProperties({'oldTitle':'','isRenaming':false});
}
},
addArgument:function (arg) {
@@ -90,15 +86,13 @@ App.ScriptEditController = Em.ObjectController.extend({
return false;
}
if (!settled.contains(arg)) {
- settled.pushObject(arg);
- this.set('tmpArgument','');
+ this.setProperties({'content.argumentsArray': settled.pushObject(arg) && settled,'tmpArgument':''});
} else {
this.send('showAlert', {'message': Em.I18n.t('scripts.alert.arg_present'), status:'info'});
}
},
removeArgument:function (arg) {
- var removed = this.get('content.argumentsArray').removeObject(arg);
- this.set('content.argumentsArray',removed);
+ this.set('content.argumentsArray',this.get('content.argumentsArray').removeObject(arg));
},
execute: function (script, operation) {
this.set('isExec',true);
@@ -157,7 +151,7 @@ App.ScriptEditController = Em.ObjectController.extend({
scriptId:script.get('id'),
/**
- * Add '-check' argument for syntax check and remove all for explain.
+ * Add '-check' argument for syntax check and remove all arguments for explain.
* @type {String}
*/
templetonArguments:(exc)?args:(chk)?(!args.match(/-check/g))?args+(args?"\t":"")+'-check':args:'',
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/initialize.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/initialize.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/initialize.js
index f38b05e..91b335b 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/initialize.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/initialize.js
@@ -93,6 +93,7 @@ require('router');
// mixins
require("mixins/fileHandler");
require("mixins/pagination");
+require("mixins/routeError");
//routes
require("routes/pig");
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/mixins/routeError.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/mixins/routeError.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/mixins/routeError.js
new file mode 100644
index 0000000..f6cd06a
--- /dev/null
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/mixins/routeError.js
@@ -0,0 +1,30 @@
+/**
+ * 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.
+ */
+
+var App = require('app');
+
+App.RouteError = Ember.Mixin.create({
+ errorMassage:'',
+ actions:{
+ error:function (error) {
+ this.controllerFor('pig').set('category','');
+ var trace = (error.hasOwnProperty('responseJSON'))?error.responseJSON.trace:null;
+ this.send('showAlert', {message:this.get('errorMassage'), status:'error', trace:trace});
+ }
+ }
+});
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_job.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_job.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_job.js
index 6bf40c1..441c5ad 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_job.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_job.js
@@ -69,29 +69,6 @@ App.Job = DS.Model.extend({
}).then(success,error);
},
- isExplainJob: function(){
- return this.jobType == "explain";
- },
- isSyntaxCheckJob: function(){
- return this.jobType == "syntax_check";
- },
- isUtilityJob: function(){
- return this.isExplainJob() || this.isSyntaxCheckJob();
- },
-
- pingStatusMap:{
- 'SUBMITTING':true,
- 'SUBMITTED':true,
- 'RUNNING':true,
- 'COMPLETED':false,
- 'SUBMIT_FAILED':false,
- 'KILLED':false,
- 'FAILED':false
- },
- needsPing:function () {
- return this.pingStatusMap[this.get('status')];
- }.property('status'),
-
jobSuccess:function () {
return this.get('status') == 'COMPLETED';
}.property('status'),
@@ -104,11 +81,11 @@ App.Job = DS.Model.extend({
return this.get('status') == 'SUBMITTING' || this.get('status') == 'SUBMITTED' || this.get('status') == 'RUNNING';
}.property('status'),
- argumentsArray:function (q,w) {
+ argumentsArray:function (key,val) {
if (arguments.length >1) {
var oldargs = (this.get('templetonArguments'))?this.get('templetonArguments').w():[];
- if (w.length != oldargs.length) {
- this.set('templetonArguments',w.join('\t'));
+ if (val.length != oldargs.length) {
+ this.set('templetonArguments',val.join('\t'));
}
}
var args = this.get('templetonArguments');
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_script.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_script.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_script.js
index 2af788e..641180f 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_script.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/models/pig_script.js
@@ -27,18 +27,18 @@ App.Script = DS.Model.extend({
owner:DS.attr('string'),
opened:DS.attr('string'),
// nav item identifier
- name:function (q){
- return this.get('title')+this.get('id');
+ name:function (){
+ return this.get('title') + this.get('id');
}.property('title'),
label:function (){
return this.get('title');
}.property('title'),
- argumentsArray:function (q,w) {
+ argumentsArray:function (key,val) {
if (arguments.length >1) {
var oldargs = (this.get('templetonArguments'))?this.get('templetonArguments').w():[];
- if (w.length != oldargs.length) {
- this.set('templetonArguments',w.join('\t'));
+ if (val.length != oldargs.length) {
+ this.set('templetonArguments',val.join('\t'));
}
}
var args = this.get('templetonArguments');
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pig.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pig.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pig.js
index 479f57a..08bc5cb 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pig.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pig.js
@@ -31,19 +31,31 @@ App.PigRoute = Em.Route.extend({
},
actions: {
gotoSection: function(nav) {
- var location = (nav.hasOwnProperty('url'))?nav.url:this.routeName;
- this.transitionTo(location);
+ this.transitionTo((nav.hasOwnProperty('url'))?nav.url:this.routeName);
},
+ /**
+ * Show alert
+ *
+ * Alert object example:
+ *
+ * {
+ * message: alert message,
+ * status: alert status (success||error||info),
+ * trace: alert trace
+ * }
+ *
+ * @param {Object} alert
+ * @return {Object}
+ */
showAlert:function (alert) {
- var pigAlert = this.controllerFor('pigAlert');
- return pigAlert.get('content').pushObject(Em.Object.create(alert));
+ return this.controllerFor('pigAlert').get('content').pushObject(Em.Object.create(alert));
},
- openModal: function(modal,content) {
- this.controllerFor(modal).set('model', content);
- return this.render(['modal',modal].join('/'), {
+ openModal: function(modalName, content) {
+ this.controllerFor(modalName).set('model', content);
+ return this.render(['modal',modalName].join('/'), {
into: 'pig',
outlet: 'modal',
- controller:modal
+ controller: modalName
});
},
removeModal: function() {
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigHistory.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigHistory.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigHistory.js
index 9efa1c5..2d1484e 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigHistory.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigHistory.js
@@ -18,14 +18,8 @@
var App = require('app');
-App.PigHistoryRoute = Em.Route.extend({
- actions:{
- error:function (error) {
- this.controllerFor('pig').set('category',"");
- var trace = (error.responseJSON)?error.responseJSON.trace:null;
- this.send('showAlert', {message:Em.I18n.t('history.load_error'),status:'error',trace:trace});
- }
- },
+App.PigHistoryRoute = Em.Route.extend(App.RouteError, {
+ errorMassage:Em.I18n.t('history.load_error'),
enter: function() {
this.controllerFor('pig').set('category',"history");
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigScripts.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigScripts.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigScripts.js
index edf3676..26c877f 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigScripts.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigScripts.js
@@ -18,11 +18,12 @@
var App = require('app');
-App.PigScriptsRoute = Em.Route.extend({
+App.PigScriptsRoute = Em.Route.extend(App.RouteError, {
+ errorMassage:Em.I18n.t('scripts.load_error'),
enter: function() {
this.controllerFor('pig').set('category','scripts');
},
model: function(object,transition) {
- return this.modelFor('pig');
+ return this.store.find('script');
}
});
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigUdfs.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigUdfs.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigUdfs.js
index d6077ec..855022b 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigUdfs.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/pigUdfs.js
@@ -18,7 +18,8 @@
var App = require('app');
-App.PigUdfsRoute = Em.Route.extend({
+App.PigUdfsRoute = Em.Route.extend(App.RouteError, {
+ errorMassage:Em.I18n.t('udfs.load_error'),
enter: function() {
this.controllerFor('pig').set('category',"udfs");
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/script.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/script.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/script.js
index 3161e10..7cfbd8d 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/script.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/script.js
@@ -34,6 +34,19 @@ App.ScriptRoute = Em.Route.extend({
transition.abort();
this.send('openModal','confirmAway',transition);
}
+ },
+ error:function (error) {
+ var msg, trace = (error && error.responseJSON.trace)?error.responseJSON.trace:null;
+ if (error.status = 404) {
+ this.store.all('script').filterBy('isLoaded',false).forEach(function (notLoaded) {
+ notLoaded.unloadRecord();
+ });
+ msg = Em.I18n.t('scripts.not_found');
+ } else {
+ msg = Em.I18n.t('scripts.load_error_single');
+ }
+ this.send('showAlert', {'message': msg, status:'error', trace:trace});
+ this.transitionTo('pig');
}
},
enter:function () {
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptEdit.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptEdit.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptEdit.js
index 04b430d..cd14584 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptEdit.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptEdit.js
@@ -24,21 +24,9 @@ App.ScriptEditRoute = Em.Route.extend({
},
isExec:false,
model: function(params) {
- var record;
- var isExist = this.store.all('script').some(function(script) {
- return script.get('id') === params.script_id;
- });
- if (isExist) {
- record = this.store.find('script',params.script_id);
- } else {
- record = this.store.createRecord('script');
- }
- return record;
+ return this.store.find('script',params.script_id);
},
afterModel:function (model) {
- if (model.get('length') == 0) {
- this.transitionTo('pig');
- }
this.controllerFor('pig').set('activeScriptId', model.get('id'));
},
renderTemplate: function() {
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptJob.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptJob.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptJob.js
index e0059aa..a5396b3 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptJob.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptJob.js
@@ -26,7 +26,7 @@ App.ScriptJobRoute = Em.Route.extend({
if (error && error.responseJSON.trace)
trace = error.responseJSON.trace;
transition.send('showAlert', {'message':Em.I18n.t('job.alert.load_error',{message:error.message}), status:'error', trace:trace});
- this.transitionTo('pig.scripts');
+ this.transitionTo('pig');
},
navigate:function (argument) {
return this.transitionTo(argument.route)
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/components/scriptListRow.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/components/scriptListRow.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/components/scriptListRow.hbs
index 7f6532f..4b0bddf 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/components/scriptListRow.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/components/scriptListRow.hbs
@@ -17,28 +17,39 @@
}}
<td class="first">
- {{#link-to 'script.edit' id}}
- {{#if isNew}}
+ {{#link-to 'script.edit' script.id}}
+ {{#if script.isNew}}
<div class="spinner-sm"></div>
{{/if}}
- {{#unless isNew}}
- {{title}}
+ {{#unless script.isNew}}
+ {{script.title}}
{{/unless}}
{{/link-to}}
</td>
<td>
- {{#if view.currentJob}}
- <span class="date">{{showDate view.currentJob.dateStarted 'YYYY-MM-DD HH:mm'}}</span>
+ {{#if currentJob}}
+ <span class="date">{{showDate currentJob.dateStarted 'YYYY-MM-DD HH:mm'}}</span>
{{else}}
{{t 'scripts.not_run_message'}}
{{/if}}
</td>
<td>
- {{view.currentJob.status}}
+{{#if currentJob.jobInProgress}}
+ <h4>
+ <span class="label label-warning">{{currentJob.status}}</span>
+ </h4>
+{{/if}}
+{{#if currentJob.jobSuccess}}
+ <i class="fa fa-fw fa-lg fa-check green"></i> {{t 'common.success'}} <small> ({{currentJob.durationTime}})</small>
+{{/if}}
+{{#if currentJob.jobError}}
+ <i class="fa fa-fw fa-lg fa-exclamation red"></i> {{t 'common.error'}}
+{{/if}}
</td>
<td>
{{#unless isNew}}
- {{#link-to 'script.history' id}}{{t 'common.history'}}{{/link-to}} -
- <a href="#" {{action "deletescript" this}}>{{t 'common.delete'}}</a>
+ {{#link-to 'script.history' script.id}}<i class="fa fa-clock-o"></i> {{t 'common.history'}}{{/link-to}}
+ <a href="#" {{action "copyScript" script}}><i class="fa fa-copy"></i> {{t 'common.copy'}}</a>
+ <a href="#" {{action "deletescript" script}}><i class="fa fa-trash-o"></i> {{t 'common.delete'}}</a>
{{/unless}}
</td>
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/scripts.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/scripts.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/scripts.hbs
index fa65171..3fe2765 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/scripts.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/scripts.hbs
@@ -32,44 +32,7 @@
</thead>
<tbody>
{{#each paginatedContent}}
- {{#script-list-row script=this jobs=controller.jobs}}
- <td class="first">{{#link-to 'script.edit' id}}
- {{#if isNew}}
- <div class="spinner-sm"></div>
- {{/if}}
- {{#unless isNew}}
- {{title}}
- {{/unless}}
- {{/link-to}}
- </td>
- <td>
- {{#if view.currentJob}}
- <span class="date">{{showDate view.currentJob.dateStarted 'YYYY-MM-DD HH:mm'}}</span>
- {{else}}
- {{t 'scripts.not_run_message'}}
- {{/if}}
- </td>
- <td>
- {{#if view.currentJob.jobInProgress}}
- <h4>
- <span class="label label-warning">{{view.currentJob.status}}</span>
- </h4>
- {{/if}}
- {{#if view.currentJob.jobSuccess}}
- <i class="fa fa-fw fa-lg fa-check green"></i> {{t 'common.success'}} <small> ({{view.currentJob.durationTime}})</small>
- {{/if}}
- {{#if view.currentJob.jobError}}
- <i class="fa fa-fw fa-lg fa-exclamation red"></i> {{t 'common.error'}}
- {{/if}}
- </td>
- <td>
- {{#unless isNew}}
- {{#link-to 'script.history' id}}<i class="fa fa-clock-o"></i> {{t 'common.history'}}{{/link-to}}
- <a href="#" {{action "copyScript" this}}><i class="fa fa-copy"></i> {{t 'common.copy'}}</a>
- <a href="#" {{action "deletescript" this}}><i class="fa fa-trash-o"></i> {{t 'common.delete'}}</a>
- {{/unless}}
- </td>
- {{/script-list-row}}
+ {{script-list-row script=this jobs=controller.jobs}}
{{/each}}
</tbody>
</table>
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/job.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/job.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/job.hbs
index b80a7c4..1584648 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/job.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/job.hbs
@@ -22,10 +22,10 @@
<div class="row">
- <div {{bind-attr class="needsPing:col-md-10:col-md-12 :progress-wrap" }} >
+ <div {{bind-attr class="jobInProgress:col-md-10:col-md-12 :progress-wrap" }} >
{{job-progress job=content}}
</div>
- {{#if needsPing}}
+ {{#if jobInProgress}}
<div class="col-md-2">
{{#unless isKilling}}
<button {{action "killjob" content}} type="button" class="btn btn-block btn-danger btn-sm kill-button"><i class="fa fa-times"></i> {{t 'job.kill_job'}}</button>
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/translations.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/translations.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/translations.js
index 7ed48cf..45abf48 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/translations.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/translations.js
@@ -55,6 +55,9 @@ Ember.I18n.translations = {
'last_executed':'Last Executed',
'last_results':'Last Results',
'no_jobs_message':'This script has not been executed',
+ 'load_error':'Error loading scripts',
+ 'load_error_single':'Error loading script',
+ 'not_found':'Script not found',
'modal':{
'create_script':'New Script',
'unsaved_changes_warning':'You have unsaved changes in script.',
@@ -142,6 +145,7 @@ Ember.I18n.translations = {
'udfs':{
'udfs':'UDFs',
'create':'Create UDF',
+ 'load_error':'Error loading UDFs',
'tooltips':{
'path':'Path of this script file on HDFS'
},
http://git-wip-us.apache.org/repos/asf/ambari/blob/876b1969/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig/alert.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig/alert.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig/alert.js
index 84a2c82..542e047 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig/alert.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig/alert.js
@@ -20,9 +20,7 @@ var App = require('app');
App.PigAlertView = Ember.View.extend({
alertsView : Ember.CollectionView.extend({
- content: function () {
- return this.get('controller.content');
- }.property('controller.content'),
+ content:Em.computed.alias('controller.content'),
itemViewClass: Ember.View.extend({
classNames: ['alert fade in'],
classNameBindings: ['alertClass'],
@@ -30,21 +28,19 @@ App.PigAlertView = Ember.View.extend({
dismiss:'alert',
templateName: 'partials/alert-content',
didInsertElement:function () {
- var self = this;
-
- $(self.get('element')).bind('closed.bs.alert', function (e) {
- return self.clearAlert();
- });
+ this.$().bind('closed.bs.alert', function () {
+ return this.clearAlert();
+ }.bind(this));
if (this.get('content.status')!='error') {
- Ember.run.debounce(self, self.close, 3000);
+ Ember.run.debounce(this, this.close, 3000);
}
},
- close : function (argument) {
- return $(this.get('element')).alert('close');
+ close : function () {
+ return this.$().alert('close');
},
clearAlert:function () {
- return this.get('controller').send('removeAlertObject',this.content);
+ return this.get('controller').send('removeAlertObject',this.get('content'));
},
alertClass: function () {
var classes = {'success':'alert-success','error':'alert-danger','info':'alert-info'};