ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From alexantone...@apache.org
Subject ambari git commit: AMBARI-9043. Views: Pig, update ember.js version, minor bugfixes (alexantonenko)
Date Thu, 08 Jan 2015 17:45:58 GMT
Repository: ambari
Updated Branches:
  refs/heads/trunk 2f32fb329 -> a06b07d43


AMBARI-9043. Views: Pig, update ember.js version, minor bugfixes (alexantonenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a06b07d4
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a06b07d4
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a06b07d4

Branch: refs/heads/trunk
Commit: a06b07d43087bc897120ac09f1e200d4d2a0cd19
Parents: 2f32fb3
Author: Alex Antonenko <hiveww@gmail.com>
Authored: Thu Jan 8 17:35:56 2015 +0200
Committer: Alex Antonenko <hiveww@gmail.com>
Committed: Thu Jan 8 19:41:56 2015 +0200

----------------------------------------------------------------------
 .../resources/ui/pig-web/app/assets/index.html  |   8 ++
 .../ui/pig-web/app/components/codeMirror.js     |   6 +-
 .../app/controllers/modal/confirmAway.js        |  17 +++
 .../app/controllers/modal/confirmDelete.js      |  12 ++
 .../app/controllers/modal/createScript.js       |  12 ++
 .../pig-web/app/controllers/modal/createUdf.js  |  12 ++
 .../pig-web/app/controllers/modal/deleteJob.js  |  12 ++
 .../pig-web/app/controllers/modal/deleteUdf.js  |  12 ++
 .../pig-web/app/controllers/modal/gotoCopy.js   |  12 ++
 .../app/controllers/modal/logDownload.js        |   7 +
 .../pig-web/app/controllers/modal/pigModal.js   |  21 +++
 .../app/controllers/modal/resultsDownload.js    |   7 +
 .../resources/ui/pig-web/app/controllers/pig.js |   7 +-
 .../ui/pig-web/app/controllers/pigAlert.js      |   4 +-
 .../ui/pig-web/app/controllers/scriptEdit.js    | 141 ++++++++++---------
 .../main/resources/ui/pig-web/app/initialize.js |  15 +-
 .../ui/pig-web/app/models/pig_script.js         |   3 +
 .../main/resources/ui/pig-web/app/routes/pig.js |   8 +-
 .../ui/pig-web/app/routes/scriptHistory.js      |  12 +-
 .../pig-web/app/templates/modal/confirmAway.hbs |   5 -
 .../app/templates/modal/confirmDelete.hbs       |   6 +-
 .../app/templates/modal/createScript.hbs        |   6 +-
 .../pig-web/app/templates/modal/createUdf.hbs   |  10 +-
 .../pig-web/app/templates/modal/deleteJob.hbs   |   6 +-
 .../pig-web/app/templates/modal/deleteUdf.hbs   |   6 +-
 .../ui/pig-web/app/templates/modal/gotoCopy.hbs |   6 +-
 .../pig-web/app/templates/modal/logDownload.hbs |   5 +-
 .../pig-web/app/templates/modal/modalLayout.hbs |   5 +
 .../app/templates/modal/resultsDownload.hbs     |   5 +-
 .../templates/partials/paginationControls.hbs   |   2 +-
 .../resources/ui/pig-web/app/templates/pig.hbs  |   4 +-
 .../ui/pig-web/app/templates/pig/history.hbs    |   6 +-
 .../ui/pig-web/app/templates/script/edit.hbs    |   4 +-
 .../ui/pig-web/app/templates/script/job.hbs     |  10 +-
 .../main/resources/ui/pig-web/app/views/pig.js  |  63 ++++-----
 .../ui/pig-web/app/views/script/edit.js         |  15 --
 .../src/main/resources/ui/pig-web/bower.json    |   9 +-
 37 files changed, 299 insertions(+), 202 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/assets/index.html
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/assets/index.html b/contrib/views/pig/src/main/resources/ui/pig-web/app/assets/index.html
index 7f87394..14f7473 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/assets/index.html
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/assets/index.html
@@ -21,6 +21,14 @@
     <meta charset="utf-8">
     <title>Pig</title>
     <link rel="stylesheet" href="static/stylesheets/app.css">
+    <script>
+      ENV = {
+        I18N_COMPILE_WITHOUT_HANDLEBARS: true,
+        FEATURES:{
+          I18N_TRANSLATE_HELPER_SPAN:false
+        }
+      };
+    </script>
     <script src="static/javascripts/vendor.js"></script>
     <script src="static/javascripts/app.js"></script>
     <script>require('initialize');</script>

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/components/codeMirror.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/components/codeMirror.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/components/codeMirror.js
index a77fcf6..d0af842 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/components/codeMirror.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/components/codeMirror.js
@@ -30,7 +30,7 @@ App.CodeMirrorComponent = Ember.Component.extend({
       return cm.setOption('readOnly',true);
     }
     var cmElement = $(cm.display.wrapper);
-    if (this.get('content.isLoaded')) {
+    if (this.get('content.isFulfilled')) {
       cm.setOption('readOnly',false);
       cmElement.removeClass('inactive');
       cm.setValue((this.get('content.fileContent')||''));
@@ -39,7 +39,7 @@ App.CodeMirrorComponent = Ember.Component.extend({
       cm.setOption('readOnly',true);
       cmElement.addClass('inactive');
     }
-  }.observes('codeMirror', 'content.didLoad'),
+  }.observes('codeMirror', 'content.isFulfilled'),
   toggleFullScreen:function () {
     Em.run.next(this,function () {
       this.get('codeMirror').setOption("fullScreen", this.get('fullscreen'));
@@ -71,7 +71,7 @@ App.CodeMirrorComponent = Ember.Component.extend({
       var addMargin = $('.CodeMirror-vscrollbar').css('display') === "block";
       var margin = $('.CodeMirror-vscrollbar').width();
       $('.fullscreen-toggle').css('right',((addMargin)?3+margin:3));
-    }
+    };
 
     cm.on('viewportChange',updateToggle);
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmAway.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmAway.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmAway.js
index 58a9fa1..c4a0e88 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmAway.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmAway.js
@@ -20,6 +20,23 @@ var App = require('app');
 
 App.ConfirmAwayController = Ember.ObjectController.extend({
   needs:['pig'],
+  buttons: [
+    {
+      title: Em.I18n.t('common.cancel'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    },
+    {
+      title: Em.I18n.t('common.discard_changes'),
+      action: "option",
+      classBindings:[':btn',':btn-danger']
+    },
+    {
+      title: Em.I18n.t('common.save'),
+      action: "ok",
+      classBindings:[':btn',':btn-success']
+    }
+  ],
   waitingTransition:null,
   actions:{
     confirm:function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmDelete.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmDelete.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmDelete.js
index a9bc278..ac0c965 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmDelete.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/confirmDelete.js
@@ -20,6 +20,18 @@ var App = require('app');
 
 App.ConfirmDeleteController = Ember.ObjectController.extend({
   needs:['pig'],
+  buttons: [
+    {
+      title: Em.I18n.t('common.cancel'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    },
+    {
+      title: Em.I18n.t('common.delete'),
+      action: "ok",
+      classBindings:[':btn',':btn-danger']
+    }
+  ],
   actions:{
     confirm:function () {
       this.get('controllers.pig').send('confirmdelete',this.get('content'));

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createScript.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createScript.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createScript.js
index 5bb6008..5cbc311 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createScript.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createScript.js
@@ -21,6 +21,18 @@ var App = require('app');
 App.CreateScriptController = Ember.ObjectController.extend({
   needs:['pigScripts'],
   filePath:'',
+  buttons: [
+    {
+      title: Em.I18n.t('common.cancel'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    },
+    {
+      title: Em.I18n.t('common.create'),
+      action: "ok",
+      classBindings:[':btn',':btn-success','isValid::disabled']
+    }
+  ],
   clearFilePath:function () {
     this.set('filePath','');
     this.set('titleErrorMessage','');

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createUdf.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createUdf.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createUdf.js
index e878a48..c58ed0a 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createUdf.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/createUdf.js
@@ -20,6 +20,18 @@ var App = require('app');
 
 App.CreateUdfController = Ember.ObjectController.extend({
   needs:['pigUdfs'],
+  buttons: [
+    {
+      title: Em.I18n.t('common.cancel'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    },
+    {
+      title: Em.I18n.t('common.create'),
+      action: "ok",
+      classBindings:[':btn',':btn-success','isValid::disabled']
+    }
+  ],
   actions:{
     confirm:function () {
       this.get('controllers.pigUdfs').send('createUdf',this.get('content'),this.get('filePath'));

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteJob.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteJob.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteJob.js
index 83cf447..afdb838 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteJob.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteJob.js
@@ -20,6 +20,18 @@ var App = require('app');
 
 App.DeleteJobController = Ember.ObjectController.extend({
   needs:['script'],
+  buttons: [
+    {
+      title: Em.I18n.t('common.cancel'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    },
+    {
+      title: Em.I18n.t('common.delete'),
+      action: "ok",
+      classBindings:[':btn',':btn-danger']
+    }
+  ],
   actions:{
     confirm:function () {
       this.get('controllers.script').send('deleteJob',this.get('content'));

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteUdf.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteUdf.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteUdf.js
index 3cc5a55..c22d1e5 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteUdf.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/deleteUdf.js
@@ -20,6 +20,18 @@ var App = require('app');
 
 App.DeleteUdfController = Ember.ObjectController.extend({
   needs:['pigUdfs'],
+  buttons: [
+    {
+      title: Em.I18n.t('common.cancel'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    },
+    {
+      title: Em.I18n.t('common.delete'),
+      action: "ok",
+      classBindings:[':btn',':btn-danger']
+    }
+  ],
   actions:{
     confirm:function () {
       this.get('controllers.pigUdfs').send('deleteUdf',this.get('content'));

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/gotoCopy.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/gotoCopy.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/gotoCopy.js
index a352184..128c9fc 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/gotoCopy.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/gotoCopy.js
@@ -20,6 +20,18 @@ var App = require('app');
 
 App.GotoCopyController = Ember.ObjectController.extend({
   needs:['pig'],
+  buttons: [
+    {
+      title: Em.I18n.t('scripts.modal.continue_editing'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    },
+    {
+      title: Em.I18n.t('scripts.modal.go_to_copy'),
+      action: "ok",
+      classBindings:[':btn',':btn-primary']
+    }
+  ],
   actions:{
     confirm:function () {
       this.transitionToRoute('script.edit',this.get('content.id'));

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/logDownload.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/logDownload.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/logDownload.js
index 2603439..23ff470 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/logDownload.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/logDownload.js
@@ -19,6 +19,13 @@
 var App = require('app');
 
 App.LogDownloadController = Ember.ObjectController.extend(App.FileHandler,{
+  buttons: [
+    {
+      title: Em.I18n.t('common.close'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    }
+  ],
   jobLogsLoader:function (output) {
     var jobId = this.get('content.id');
     var url = ['jobs',jobId, 'results','stderr'].join('/');

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/pigModal.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/pigModal.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/pigModal.js
index f7d19f3..0f76826 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/pigModal.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/pigModal.js
@@ -21,6 +21,27 @@ var App = require('app');
 App.PigModalComponent = Ember.Component.extend({
   didClose:'removeModal',
   size:'',
+  buttons:Em.computed.alias('targetObject.buttons'),
+  isValid:Em.computed.alias('targetObject.isValid'),
+  buttonViews:function () {
+    var data = this.get('buttons') || [];
+    var views = [];
+
+    data.forEach(function (btn) {
+      views.push(Em.Component.extend({
+        tagName:'button',
+        title:btn.title,
+        action:btn.action,
+        click:function () {
+          this.sendAction();
+        },
+        classNameBindings: btn.classBindings,
+        layout:Em.Handlebars.compile('{{view.title}}')
+      }));
+    });
+
+    return views;
+  }.property('buttons'),
   large:function () {
     return this.get('size') =='lg';
   }.property('size'),

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/resultsDownload.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/resultsDownload.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/resultsDownload.js
index 81b4a50..b14570a 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/resultsDownload.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/modal/resultsDownload.js
@@ -19,6 +19,13 @@
 var App = require('app');
 
 App.ResultsDownloadController = Ember.ObjectController.extend(App.FileHandler,{
+  buttons: [
+    {
+      title: Em.I18n.t('common.close'),
+      action: "cancel",
+      classBindings:[':btn',':btn-default']
+    }
+  ],
   jobResultsLoader:function (output) {
     var jobId = this.get('content.id');
     var url = ['jobs',jobId, 'results','stdout'].join('/');

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/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 33bfed4..8cde338 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
@@ -21,9 +21,14 @@ var App = require('app');
 App.PigController = Em.ArrayController.extend({
   needs:['scriptEdit'],
   category: 'scripts',
+  navs: [
+    {name:'scripts',url:'pig',label: Em.I18n.t('scripts.scripts'),icon:'fa-file-code-o'},
+    {name:'udfs',url:'pig.udfs',label:Em.I18n.t('udfs.udfs'),icon:'fa-plug'},
+    {name:'history',url:'pig.history',label:Em.I18n.t('common.history'),icon:'fa-clock-o'}
+  ],
   actions:{
     closeScript:function () {
-      this.transitionToRoute('pig.scripts');
+      this.transitionToRoute('pig');
     },
     saveScript: function (script,onSuccessCallback) {
       var onSuccess = onSuccessCallback || function(model){

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pigAlert.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pigAlert.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pigAlert.js
index c95921c..27685f2 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pigAlert.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/controllers/pigAlert.js
@@ -19,11 +19,11 @@
 var App = require('app');
 
 App.PigAlertController = Ember.ArrayController.extend({
-  content:Ember.A(),
+  model:[],
   needs: ['pigErrorLog'],
   actions:{
     removeAlertObject:function (alert) {
-      this.content.removeObject(alert);
+      this.get('content').removeObject(alert);
     },
     showErrorLog:function (context) {
       errorLogController = this.get('controllers.pigErrorLog');

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/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 912a46e..5ef95ad 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
@@ -39,7 +39,7 @@ App.ScriptEditController = Em.ObjectController.extend({
     if (editorContent) {
       var match_var = editorContent.match(/\%\w+\%/g);
       if (match_var) {
-        var oldParams = controller.pigParams;
+        var oldParams = controller.get('pigParams');
         controller.set('pigParams',[]);
         match_var.forEach(function (param) {
           var suchParams = controller.pigParams.filterProperty('param',param);
@@ -84,15 +84,13 @@ App.ScriptEditController = Em.ObjectController.extend({
         this.set('isRenaming',false);
       }
     },
-    addArgument:function () {
-      var arg = this.get('tmpArgument');
+    addArgument:function (arg) {
+      var settled = this.get('content.argumentsArray');
       if (!arg) {
         return false;
       }
-      var pull = this.get('content.argumentsArray');
-      if (Em.$.inArray(arg,pull)<0) {
-        pull.pushObject(arg);
-        this.set('content.argumentsArray',pull);
+      if (!settled.contains(arg)) {
+        settled.pushObject(arg);
         this.set('tmpArgument','');
       } else {
         this.send('showAlert', {'message': Em.I18n.t('scripts.alert.arg_present'), status:'info'});
@@ -103,19 +101,15 @@ App.ScriptEditController = Em.ObjectController.extend({
       this.set('content.argumentsArray',removed);
     },
     execute: function (script, operation) {
-      var executeMethod = {
-        'execute':this.prepareExecute,
-        'explain':this.prepareExplain,
-        'syntax_check':this.prepareSyntaxCheck
-      };
-
       this.set('isExec',true);
 
       return Ember.RSVP.resolve(script.get('pigScript'))
         .then(function (file) {
           return Ember.RSVP.all([file.save(),script.save()]);
         })
-        .then(executeMethod[operation].bind(this))
+        .then(function (data) {
+          return this.prepareJob(operation,data);
+        }.bind(this))
         .then(this.executeSuccess.bind(this), this.executeError.bind(this))
         .finally(Em.run.bind(this,this.set,'isExec',false));
     },
@@ -136,73 +130,84 @@ App.ScriptEditController = Em.ObjectController.extend({
     this.send('showAlert', {message:Em.I18n.t('job.alert.start_filed'),status:'error',trace:trace});
   },
 
-  prepareExecute:function (data) {
-    var file = data[0], script = data[1], pigParams = this.get('pigParams') || [], fileContent = file.get('fileContent');
-
-    pigParams.forEach(function (param) {
-      var rgParam = new RegExp(param.param,'g');
-      fileContent = fileContent.replace(rgParam,param.value);
-    });
-
-    var job = this.store.createRecord('job',{
-      scriptId: script.get('id'),
-      templetonArguments: script.get('templetonArguments'),
-      title: script.get('title'),
-      forcedContent: (pigParams.length > 0)? fileContent:null,
-      pigScript: (pigParams.length == 0)?file:null
-    });
-
-    return job.save();
-  },
-  prepareExplain:function (data) {
-    var file = data[0], script = data[1], pigParams = this.get('pigParams') || [], fileContent = file.get('fileContent');
+  prepareJob:function (type, data) {
+    var job, promise,
+        exc = 'execute' == type,
+        exp = 'explain' == type,
+        chk = 'syntax_check' == type,
+        file = data[0],
+        script = data[1],
+        pigParams = this.get('pigParams') || [],
+        fileContent = file.get('fileContent'),
+        args = script.get('templetonArguments'),
+        title = script.get('title'),
+        hasParams = pigParams.length > 0;
 
     pigParams.forEach(function (param) {
       var rgParam = new RegExp(param.param,'g');
       fileContent = fileContent.replace(rgParam,param.value);
     });
 
-    var job = this.store.createRecord('job',{
-      scriptId: script.get('id'),
-      templetonArguments: '',
-      title: 'Explain: "' + script.get('title') + '"',
-      jobType: 'explain',
-      sourceFileContent: (pigParams.length > 0)? fileContent:null,
-      sourceFile: (pigParams.length == 0)?file.get('id'):null,
-      forcedContent: 'explain -script ${sourceFile}'
+    job = this.store.createRecord('job', {
+
+      /**
+       * Link to script.
+       * @type {String}
+       */
+      scriptId:script.get('id'),
+
+      /**
+       * Add '-check' argument for syntax check and remove all for explain.
+       * @type {String}
+       */
+      templetonArguments:(exc)?args:(chk)?(!args.match(/-check/g))?args+(args?"\t":"")+'-check':args:'',
+
+      /**
+       * Modify title for syntax check and operations.
+       * @type {String}
+       */
+      title:(exc)?title:(chk)?'Syntax check: "%@"'.fmt(title):'Explain: "%@"'.fmt(title),
+
+      /**
+       * If the script has parameters, set this value to script with replaced ones.
+       * And if operations is explain, set it to reference to sourceFile.
+       * @type {String}
+       */
+      forcedContent:(exp)?'explain -script ${sourceFile}':(hasParams)?fileContent:null,
+
+      /**
+       * If other, than execute, need to set job type.
+       * @type {String}
+       */
+      jobType:(!exc)?type:null,
+
+      /**
+       * If execute of syntax_check without params, just set App.File instance.
+       * @type {App.File}
+       */
+      pigScript:(!exp && !hasParams)?file:null,
+
+      /**
+       * For explain job type need sourceFile ...
+       * @type {String}
+       */
+      sourceFile:(exp && !hasParams)?file.get('id'):null,
+
+      /**
+       * ... or sourceFileContent if script has parameters.
+       * @type {String}
+       */
+      sourceFileContent:(exp && hasParams)?fileContent:null
     });
 
-    return job.save();
-  },
-  prepareSyntaxCheck:function (data) {
-    var file = data[0], script = data[1], pigParams = this.get('pigParams') || [], fileContent = file.get('fileContent'), args = script.get('templetonArguments');
-
-    pigParams.forEach(function (param) {
-      var rgParam = new RegExp(param.param,'g');
-      fileContent = fileContent.replace(rgParam,param.value);
-    });
+    promise = job.save();
 
-    var job = this.store.createRecord('job',{
-      scriptId: script.get('id'),
-      templetonArguments: (!args.match(/-check/g))?args+(args?"\t":"")+'-check':args,
-      title: 'Syntax check: "' + script.get('title') + '"',
-      jobType:  'syntax_check',
-      forcedContent: (pigParams.length > 0)? fileContent:null,
-      pigScript: (pigParams.length == 0)?file:null
-    });
+    Em.run.next(promise, promise.catch, Em.run.bind(job,job.deleteRecord));
 
-    return job.save();
+    return promise;
   },
 
   /**
-   * Is script is in error state.
-   * @return {boolean}
-   */
-  scriptError:function () {
-    return this.get('content.isError');
-  }.property('content.isError'),
-
-  /**
    * available UDFs
    * @return {App.Udf} promise
    */

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/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 8adf505..f38b05e 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
@@ -38,11 +38,24 @@ App.JobAdapter = App.ApplicationAdapter.extend({
   }
 });
 
+App.JobSerializer = DS.RESTSerializer.extend({
+  normalizeHash: {
+    jobs: function(hash) {
+      delete hash.inProgress;
+      return hash;
+    },
+    job: function(hash) {
+      delete hash.inProgress;
+      return hash;
+    }
+  }
+});
+
 App.FileSerializer = DS.RESTSerializer.extend({
   primaryKey:'filePath'
 });
 
-App.IsodateTransform = DS.Transform.extend({  
+App.IsodateTransform = DS.Transform.extend({
   deserialize: function (serialized) {
     if (serialized) {
       return moment.unix(serialized).toDate();

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/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 c779264..2af788e 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
@@ -23,6 +23,9 @@ App.Script = DS.Model.extend({
   pigScript:DS.belongsTo('file', { async: true }),
   dateCreated:DS.attr('isodate', { defaultValue: moment()}),
   templetonArguments:DS.attr('string'),
+  pythonScript:DS.attr('string'),
+  owner:DS.attr('string'),
+  opened:DS.attr('string'),
   // nav item identifier
   name:function (q){
     return this.get('title')+this.get('id');

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/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 48fab5a..479f57a 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,15 +31,15 @@ App.PigRoute = Em.Route.extend({
   },
   actions: {
     gotoSection: function(nav) {
-      var location = (nav.hasOwnProperty('url'))?[nav.url]:['pig.scriptEdit',nav.get('id')];
-      this.transitionTo.apply(this,location);
+      var location = (nav.hasOwnProperty('url'))?nav.url:this.routeName;
+      this.transitionTo(location);
     },
     showAlert:function (alert) {
       var pigAlert = this.controllerFor('pigAlert');
-      return pigAlert.content.pushObject(Em.Object.create(alert));
+      return pigAlert.get('content').pushObject(Em.Object.create(alert));
     },
     openModal: function(modal,content) {
-      this.controllerFor(modal).set('content', content);
+      this.controllerFor(modal).set('model', content);
       return this.render(['modal',modal].join('/'), {
         into: 'pig',
         outlet: 'modal',

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptHistory.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptHistory.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptHistory.js
index 650bfb9..cfaef5c 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptHistory.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/routes/scriptHistory.js
@@ -22,15 +22,11 @@ App.ScriptHistoryRoute = Em.Route.extend({
   enter: function() {
     this.controllerFor('script').set('activeTab','history');
   },
+  beforeModel:function (t) {
+    var asId = t.params[t.targetName].hasOwnProperty('script_id') && t.params[t.targetName]['script_id'];
+    this.controllerFor('pig').set('activeScriptId',asId);
+  },
   model:function(param) {
-    this.controllerFor('pig').set('activeScriptId', param.script_id);
     return this.store.find('job', {scriptId: param.script_id});
-  },
-  setupController:function (controller,model) {
-    var script_id = this.controllerFor('pig').get('activeScriptId');
-    model.store.recordArrayManager.registerFilteredRecordArray(model,model.type,function(job) {
-      return job.get('scriptId') == script_id;
-    });
-    controller.set('model',model);
   }
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmAway.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmAway.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmAway.hbs
index 3c12506..b587875 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmAway.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmAway.hbs
@@ -24,9 +24,4 @@
   <div class="modal-body">
     {{t 'scripts.modal.unsaved_changes_warning'}}
   </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" target="view"}} class="btn btn-default" >{{t 'common.cancel'}}</button>
-    <button type="button" {{action "option" target="view" }} {{bind-attr class=":btn :btn-danger"}}>{{t 'common.discard_changes'}}</button>
-    <button type="button" {{action "ok" target="view"}} {{bind-attr class=":btn :btn-success"}}>{{t 'common.save'}}</button>
-  </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmDelete.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmDelete.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmDelete.hbs
index b71854f..b0e1997 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmDelete.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/confirmDelete.hbs
@@ -22,10 +22,6 @@
     <h4 class="modal-title">{{t 'scripts.modal.confirm_delete'}}</h4>
   </div>
   <div class="modal-body">
-  {{t 'scripts.modal.confirm_delete_massage' titleBinding="content.title" tagName="p"}}
-  </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" target="view"}} class="btn btn-default" data-dismiss="modal">{{t 'common.cancel'}}</button>
-    <button type="button" {{action "ok" content target="view"}} class="btn btn-danger">{{t 'common.delete'}}</button>
+    <p>{{t 'scripts.modal.confirm_delete_massage' titleBinding="content.title"}}</p>
   </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createScript.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createScript.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createScript.hbs
index b80473e..c14927e 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createScript.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createScript.hbs
@@ -18,7 +18,7 @@
 
 {{#pig-modal ok='confirm' close='cancel'}}
   <div class="modal-header">
-    <button type="button" class="close" {{action "cancel" target="view"}} aria-hidden="true">&times;</button>
+    <button type="button" class="close"  {{action "cancel"}} data-dismiss="modal" aria-hidden="true">&times;</button>
     <h4 class="modal-title">{{t 'scripts.modal.create_script'}}</h4>
   </div>
   <div class="modal-body">
@@ -35,8 +35,4 @@
       <small class="pull-right help-block">{{t 'scripts.modal.file_path_hint'}}</small>
     </div>
   </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" target="view"}} class="btn btn-default" >{{t 'common.cancel'}}</button>
-    <button type="button" {{action "ok" target="view"}} {{bind-attr class="content.isBlankTitle:disabled :btn :btn-success"}} >{{t 'common.create'}}</button>
-  </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createUdf.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createUdf.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createUdf.hbs
index a72c66a..9fe3aa5 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createUdf.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/createUdf.hbs
@@ -18,7 +18,7 @@
 
 {{#pig-modal ok='confirm' close='cancel'}}
   <div class="modal-header">
-    <button type="button" class="close" {{action "cancel" target="view"}} aria-hidden="true">&times;</button>
+    <button type="button" class="close" {{action "cancel"}} data-dismiss="modal" aria-hidden="true">&times;</button>
     <h4 class="modal-title">{{t 'udfs.modal.create_udf'}}</h4>
   </div>
   <div class="modal-body">
@@ -26,13 +26,9 @@
       <label>{{t 'common.name'}}</label>
       {{input class="form-control" placeholderTranslation="udfs.modal.udf_name" valueBinding="content.name"}}
     </div>
-    <div class="form-group has-feedback">
+    <div class="form-group">
       <label>{{t 'common.path'}}</label>
-      {{path-input class="form-control isLoading" placeholderTranslation="udfs.modal.hdfs_path" valueBinding="content.path" storeBinding="content.store"}}
+      {{path-input class="form-control" placeholderTranslation="udfs.modal.hdfs_path" valueBinding="content.path" storeBinding="content.store"}}
     </div>
   </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" content target="view"}} class="btn btn-default">{{t 'common.cancel'}}</button>
-    <button type="button" {{action "ok" target="view"}} {{bind-attr class=":btn :btn-success isValid::disabled"}}>{{t 'common.create'}}</button>
-  </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteJob.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteJob.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteJob.hbs
index 0f4c74f..f0af814 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteJob.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteJob.hbs
@@ -22,10 +22,6 @@
     <h4 class="modal-title">{{t 'scripts.modal.confirm_delete'}}</h4>
   </div>
   <div class="modal-body">
-  {{t 'job.modal.confirm_delete_massage' titleBinding="content.title" tagName="p"}}
-  </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" target="view"}} class="btn btn-default" data-dismiss="modal">{{t 'common.cancel'}}</button>
-    <button type="button" {{action "ok" content target="view"}} class="btn btn-danger">{{t 'common.delete'}}</button>
+    <p>{{t 'job.modal.confirm_delete_massage' titleBinding="content.title"}}</p>
   </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteUdf.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteUdf.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteUdf.hbs
index 39f0e68..aa5a157 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteUdf.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/deleteUdf.hbs
@@ -22,10 +22,6 @@
     <h4 class="modal-title">{{t 'scripts.modal.confirm_delete'}}</h4>
   </div>
   <div class="modal-body">
-  {{t 'udfs.modal.delete_udf' titleBinding="content.name" tagName="p"}}
-  </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" target="view"}} class="btn btn-default" data-dismiss="modal">{{t 'common.cancel'}}</button>
-    <button type="button" {{action "ok" content target="view"}} class="btn btn-danger">{{t 'common.delete'}}</button>
+    <p>{{t 'udfs.modal.delete_udf' titleBinding="content.name"}}</p>
   </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/gotoCopy.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/gotoCopy.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/gotoCopy.hbs
index 1d4fcdb..4072818 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/gotoCopy.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/gotoCopy.hbs
@@ -22,10 +22,6 @@
     <h4 class="modal-title">{{t 'scripts.modal.copy_created'}}</h4>
   </div>
   <div class="modal-body">
-    {{t 'scripts.modal.copy_created_massage' titleBinding="content.title" tagName="p"}}
-  </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" target="view"}} class="btn btn-default" data-dismiss="modal">{{t 'scripts.modal.continue_editing'}}</button>
-    <button type="button" {{action "ok" content target="view"}} class="btn btn-primary">{{t 'scripts.modal.go_to_copy'}}</button>
+    <p>{{t 'scripts.modal.copy_created_massage' titleBinding="content.title"}}</p>
   </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/logDownload.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/logDownload.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/logDownload.hbs
index ed47d62..4526137 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/logDownload.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/logDownload.hbs
@@ -26,7 +26,7 @@
   </div>
   <div class="modal-body">
     {{#if jobLogsLoader.isPending}}
-      <pre><div class="spinner-sm"></div></pre>
+      <div class="spinner-sm"></div>
     {{else}}
       {{#if jobLogsLoader.isFulfilled}}
       <pre>{{jobLogsLoader.content.fileContent}}</pre>
@@ -36,7 +36,4 @@
       {{/if}}
     {{/if}}
   </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" target="view"}} class="btn btn-default" data-dismiss="modal">{{t 'common.close'}} </button>
-  </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/modalLayout.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/modalLayout.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/modalLayout.hbs
index 0aca82f..d61b779 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/modalLayout.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/modalLayout.hbs
@@ -20,6 +20,11 @@
   <div {{bind-attr class=":modal-dialog large:modal-lg small:modal-sm" }}>
     <div class="modal-content">
       {{yield}}
+      <div class="modal-footer">
+        {{#each buttonViews}}
+          {{view this isValidBinding='view.isValid'}}
+        {{/each}}
+      </div>
     </div><!-- /.modal-content -->
   </div><!-- /.modal-dialog -->
 </div><!-- /.modal -->

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/resultsDownload.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/resultsDownload.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/resultsDownload.hbs
index 5de0cfa..6a41072 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/resultsDownload.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/modal/resultsDownload.hbs
@@ -26,7 +26,7 @@
   </div>
   <div class="modal-body">
     {{#if jobResultsLoader.isPending}}
-      <pre><div class="spinner-sm"></div></pre>
+      <div class="spinner-sm"></div>
     {{else}}
       {{#if jobResultsLoader.isFulfilled}}
       <pre>{{jobResultsLoader.content.fileContent}}</pre>
@@ -36,7 +36,4 @@
       {{/if}}
     {{/if}}
   </div>
-  <div class="modal-footer">
-    <button type="button" {{action "cancel" target="view"}} class="btn btn-default" data-dismiss="modal">{{t 'common.close'}}</button>
-  </div>
 {{/pig-modal}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/partials/paginationControls.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/partials/paginationControls.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/partials/paginationControls.hbs
index 5543b94..4b7df80 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/partials/paginationControls.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/partials/paginationControls.hbs
@@ -19,7 +19,7 @@
 <div class="pagination-block">
   <div class="items-count">
     <label >{{t 'common.show'}}
-      {{view Ember.Select content=perPageOptions class="form-control" value=perPage}}
+      {{view "select" content=perPageOptions class="form-control" value=perPage}}
     </label>
   </div>
   <div class="items-info">

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig.hbs
index d70ac7e..ad08496 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig.hbs
@@ -21,11 +21,11 @@
     <div class="col-md-3 navigation">
       <div class="well">
 
-        {{view view.navItemsView}}
+        {{view 'nav-items' content=navs}}
         <div class="nav-script-wrap">
           <div class=" nav-script" >
             <div>
-              <button type="button" class="close_script" tabindex="-1" {{action closeScript}}>
+              <button type="button" class="close_script" tabindex="-1" {{action 'closeScript'}}>
                 <i class="fa fa-times"></i>
               </button>
             </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/history.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/history.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/history.hbs
index 7cba9d5..2f3fdbe 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/history.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/pig/history.hbs
@@ -21,7 +21,7 @@
     <h3 class="pull-left"> {{t 'common.history'}}</h3>
   </div>
   <table class="table table-striped ">
-    <thead> 
+    <thead>
       <tr class="label-row">
         <th class="first">{{t 'common.date'}}</th>
         <th>{{t 'scripts.script'}}</th>
@@ -30,12 +30,12 @@
         <th>{{t 'common.actions'}}</th>
       </tr>
     </thead>
-    <tbody> 
+    <tbody>
     {{#each paginatedContent}}
       <tr>
         <td>{{#link-to 'script.job' this.id }} {{showDate this.dateStarted 'YYYY-MM-DD HH:mm'}} {{/link-to}}</td>
         <td>
-          {{#view 'view.scriptLink' scriptId=this.scriptId allIds=controller.scriptIds}}{{this.title}}{{/view}}
+          {{#view view.scriptLink scriptId=this.scriptId allIds=controller.scriptIds}}{{this.title}}{{/view}}
         </td>
         <td>
           <h4>

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/edit.hbs
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/edit.hbs b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/edit.hbs
index 767e2bc..854c751 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/edit.hbs
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/templates/script/edit.hbs
@@ -17,7 +17,7 @@
 }}
 
 <div class="edit-script">
-  <div {{bind-attr class=":panel :panel-editscript fullscreen:fullscreen scriptError:panel-danger:panel-default"}} >
+  <div {{bind-attr class=":panel :panel-editscript fullscreen:fullscreen content.isError:panel-danger:panel-default"}} >
     <div class="panel-heading">
       {{outlet nav}}
 
@@ -137,7 +137,7 @@
         <div class="input-group">
           {{input action="addArgument" placeholderTranslation="editor.pig_argument" class="form-control" valueBinding='tmpArgument'}}
           <span class="input-group-btn">
-            <button class="btn btn-default pull-right" {{action 'addArgument'}} ><i class="fa fa-plus"></i> {{t 'common.add'}}</button>
+            <button class="btn btn-default pull-right" {{action 'addArgument' tmpArgument}} ><i class="fa fa-plus"></i> {{t 'common.add'}}</button>
           </span>
         </div>
       </div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/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 e184e09..b80a7c4 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
@@ -63,10 +63,10 @@
           {{/if}}
         </h4>
       </div>
-      {{#view "view.collapsePanel" id="scriptResults" class="panel-collapse collapse in" }}
+      {{#view view.collapsePanel id="scriptResults" class="panel-collapse collapse in" }}
         <div class="panel-body">
         {{#if jobResults.isPending}}
-          <pre><div class="spinner-sm"></div></pre>
+          <div class="spinner-sm"></div>
         {{else}}
           {{#if jobResults.isFulfilled }}
           <pre>{{jobResults.content.fileContent}}</pre>
@@ -91,10 +91,10 @@
           {{/if}}
         </h4>
       </div>
-      {{#view "view.collapsePanel" id="scriptLogs" class="panel-collapse collapse"}}
+      {{#view view.collapsePanel id="scriptLogs" class="panel-collapse collapse"}}
         <div class="panel-body">
         {{#if jobLogs.isPending}}
-          <pre><div class="spinner-sm"></div></pre>
+          <div class="spinner-sm"></div>
         {{else}}
           {{#if jobLogs.isFulfilled}}
           <pre>{{jobLogs.content.fileContent}}</pre>
@@ -117,7 +117,7 @@
           </a>
         </h4>
       </div>
-      {{#view "view.collapsePanel" id="scriptDetails" class="panel-collapse collapse" }}
+      {{#view view.collapsePanel id="scriptDetails" class="panel-collapse collapse" }}
         <div {{bind-attr class=":panel-body :body-title :body-title-contents fullscreen:fullscreen "}} >
           {{t 'job.script_contents'}}:
           <div class="fullscreen-toggle pull-right" {{action 'fullscreen'}} data-toggle="tooltip" data-placement="bottom" {{translateAttr title="editor.toggle_fullscreen"}}><i {{bind-attr class=":fa :fa-lg fullscreen:fa-compress:fa-expand"}} ></i></div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig.js
index a23264a..d97cae9 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/views/pig.js
@@ -22,7 +22,7 @@ App.PigView = Em.View.extend({
   hideScript:true,
   selectedBinding: 'controller.category',
   navs: [
-    {name:'scripts',url:'pig.scripts',label: Em.I18n.t('scripts.scripts'),icon:'fa-file-code-o'},
+    {name:'scripts',url:'pig',label: Em.I18n.t('scripts.scripts'),icon:'fa-file-code-o'},
     {name:'udfs',url:'pig.udfs',label:Em.I18n.t('udfs.udfs'),icon:'fa-plug'},
     {name:'history',url:'pig.history',label:Em.I18n.t('common.history'),icon:'fa-clock-o'}
   ],
@@ -35,42 +35,33 @@ App.PigView = Em.View.extend({
     Em.run.later(this, function (show) {
       this.$('.nav-script-wrap').toggleClass('in',show);
     },!!this.get('controller.activeScript'),250);
-  }.observes('controller.activeScript'),
+  }.observes('controller.activeScript')
+});
 
-  navItemsView : Ember.CollectionView.extend({
-    tagName: 'div',
-    classNames:['list-group', 'nav-main'],
-    content: function () { 
-      return this.get('parentView.navs')
-    }.property('parentView.navs'),
-    mouseEnter:function  (argument) {
-      this.get('parentView').$('.nav-script-wrap').addClass('reveal');
-    },
-    mouseLeave:function  (argument) {
-      this.get('parentView').$('.nav-script-wrap').removeClass('reveal');
+App.NavItemsView = Ember.CollectionView.extend({
+  tagName: 'div',
+  classNames:['list-group', 'nav-main'],
+  content: [],
+  mouseEnter:function  (argument) {
+    this.get('parentView').$('.nav-script-wrap').addClass('reveal');
+  },
+  mouseLeave:function  (argument) {
+    this.get('parentView').$('.nav-script-wrap').removeClass('reveal');
+  },
+  itemViewClass: Ember.Component.extend({
+    tagName: 'a',
+    layout: Em.Handlebars.compile(
+      '<i class="fa fa-fw fa-2x {{unbound view.content.icon}}"></i> '+
+      '<span>{{view.content.label}}</span>'
+    ),
+    classNames: ['list-group-item pig-nav-item text-left'],
+    classNameBindings: ['isActive:active'],
+    action: 'gotoSection',
+    click: function() {
+      this.sendAction('action',this.get('content'));
     },
-    itemViewClass: Ember.View.extend(Ember.ViewTargetActionSupport,{
-      tagName: 'a',
-      template: Em.Handlebars.compile(
-        '<i class="fa fa-fw fa-2x {{unbound view.content.icon}}"></i> '+
-        '<span>{{view.content.label}}</span>'
-      ),
-      classNames: ['list-group-item pig-nav-item text-left'],
-      classNameBindings: ['isActive:active'],
-      action: 'gotoSection',
-      click: function(e) {
-        if (e.target.type=="button") {
-          return false;
-        }
-        this.triggerAction({
-          actionContext:this.content
-        }); 
-      },
-      isActive: function () {
-        return this.get('content.name') === this.get('parentView.parentView.selected');
-      }.property('content.name', 'parentView.parentView.selected'),
-
-      hideLabel:Em.computed.bool('controller.activeScript')
-    })
+    isActive: function () {
+      return this.get('content.name') === this.get('parentView.parentView.selected');
+    }.property('content.name', 'parentView.parentView.selected')
   })
 });

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/app/views/script/edit.js
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/app/views/script/edit.js b/contrib/views/pig/src/main/resources/ui/pig-web/app/views/script/edit.js
index 97afe71..a1a9601 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/app/views/script/edit.js
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/app/views/script/edit.js
@@ -41,21 +41,6 @@ App.ScriptEditView = Em.View.extend({
       this.set('controller.content.pigScript.fileContent',registered);
     }
   },
-  argumentInput: Ember.TextField.extend({
-    viewName:"argumentInput",
-    actions:{
-      sendArgument:function(){
-        this.get('parentView.controller').send('addArgument',this.get('value'));
-        this.set('value',null);
-      }
-    },
-    classNames:["form-control argadd"],
-    keyPress:function  (event) {
-      if (event.keyCode=="13") {
-        this.send('sendArgument');
-      }
-    }
-  }),
   focusInput:Em.TextField.extend({
     becomeFocused: function () {
       this.$().focus().val(this.$().val());

http://git-wip-us.apache.org/repos/asf/ambari/blob/a06b07d4/contrib/views/pig/src/main/resources/ui/pig-web/bower.json
----------------------------------------------------------------------
diff --git a/contrib/views/pig/src/main/resources/ui/pig-web/bower.json b/contrib/views/pig/src/main/resources/ui/pig-web/bower.json
index 91d8402..03ad4bb 100644
--- a/contrib/views/pig/src/main/resources/ui/pig-web/bower.json
+++ b/contrib/views/pig/src/main/resources/ui/pig-web/bower.json
@@ -3,13 +3,13 @@
   "version": "0.0.1",
   "main": "public/app.js",
   "dependencies": {
-    "ember": "1.6.0",
-    "ember-data": "1.0.0-beta.7",
+    "ember": "1.8.1",
+    "ember-data": "1.0.0-beta.12",
     "handlebars": "~1.3.0",
     "bootstrap": "3.1.x",
     "codemirror": ">=3.2",
     "moment": "~2.8.1",
-    "ember-i18n": "~1.6.0",
+    "ember-i18n": "2.9.x",
     "font-awesome": "4.2",
     "file-saver": "*",
     "bootstrap3-typeahead": "~3.0.3"
@@ -35,9 +35,6 @@
     "cldr": {
       "main": "plurals.js"
     },
-    "ember-i18n": {
-      "scripts": []
-    },
     "file-saver": {
       "main": "FileSaver.js"
     }


Mime
View raw message